mirror of
https://github.com/amorphous-engineering/OPAL.git
synced 2026-07-12 21:03:03 +00:00
No description
- Python 67.3%
- HTML 29.8%
- CSS 1.9%
- JavaScript 0.6%
- Shell 0.2%
- Other 0.2%
- New /setup page renders automatically on first run (zero users in DB). Operator picks LOCAL or EXE; LOCAL also collects the first admin's name/email; EXE redirects to /__exe.dev/login so the proxy auto-provisions the first user. - New admin-only /settings/auth-mode form for ongoing changes, with a required "I confirm a reverse proxy is in front" checkbox before switching to EXE (without one, X-ExeDev-UserID is forgeable). - AUTH MODE panel surfaced on the main /settings page above Onshape. - auth_mode added to the DB overlay so changes persist and override OPAL_AUTH_MODE env at runtime; apply_db_overlay() rebuilds the active Settings after each save. - /setup added to LOCAL_EXEMPT / EXE_EXEMPT so middleware doesn't bounce the first-run page. Bundled into v1.3.2 so installs don't require editing .env to switch auth modes — there is no .env on a stock install. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| migrations | ||
| src/opal | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| alembic.ini | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| install.ps1 | ||
| install.sh | ||
| ISSUES_AUDIT.md | ||
| LICENSE | ||
| opal.spec | ||
| OPAL_manual.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
OPAL
Operations, Procedures, Assets, Logistics
An enterprise resource planning system optimized for small teams and hardware projects.
Download
Install with a single command:
# macOS / Linux
curl -LsSf https://raw.githubusercontent.com/amorphous-engineering/OPAL/master/install.sh | sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/amorphous-engineering/OPAL/master/install.ps1 | iex
Or download manually from GitHub Releases:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | opal-macos-arm64 |
| macOS (Intel) | opal-macos-x86_64 |
| Linux (x86_64) | opal-linux-x86_64 |
| Windows (x86_64) | opal-windows-x86_64.exe |
Run it. The launcher initializes the database on first launch, starts the server, and opens the web UI. No Python or dependencies required.
Features
- Inventory & Procurement: Parts database, inventory tracking, purchase order management
- Procedures: Versioned procedure templates with step-by-step execution
- Issues: Manual and auto-created issue tracking
- Onshape Integration: Bidirectional BOM and metadata sync with Onshape CAD
- Local-first: Runs on a single laptop, accessible to network
Development Setup
# Install uv (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync
# Initialize database
uv run opal init
# Start server
uv run opal serve
Access the web UI at http://localhost:8080
Development
# Install with dev dependencies
uv sync --all-extras
# Run tests
uv run pytest
# Generate migration
uv run opal migrate generate --message "Description"
# Apply migrations
uv run opal migrate upgrade
Stack
- Database: SQLite
- Backend: Python 3.11+ with FastAPI
- Frontend: HTMX + Jinja2 templates
- Desktop App: Textual TUI launcher with auto-updater