Setup guide
Everything runs on your own infrastructure via Docker Compose. This page covers the released, pre-built deployment (no source access needed).
Stack
- Control plane: Python/FastAPI + PostgreSQL + gRPC (mTLS) for agent communication
- Agent: single Go binary per node (bare-metal or Proxmox VE)
- Frontend: Angular dashboard
- Deployment: Docker Compose + Caddy (reverse proxy / automatic TLS)
1. Download and run the installer
Download the nexum app for your OS/architecture from the download section. On macOS, mount the .dmg and drag nexum into Applications. Docker must already be installed. On first launch it checks Docker, generates secure secrets, writes the Compose stack, starts it, and opens the setup screen right inside the app, no browser, no command to type or paste.
Caddy provisions TLS automatically once you enter a real domain (instead of localhost) as the public hostname in the installer form.
The binary isn't code-signed yet, so your OS will warn about it on first launch. On recent macOS (Sequoia/Tahoe): if double-clicking says it can't be opened, go to System Settings → Privacy & Security, scroll down to the blocked-app notice, click Open Anyway, then confirm once more. On older macOS: right-click the file → Open → Open anyway. On Windows: click More info → Run anyway. This is a one-time click, not a command.
2. Create the first admin
There's no public self-registration, the platform is invite-only. Once the stack is up, the same app window switches straight to the dashboard: since no admin exists yet, nexum shows a setup form right there, fill in your email (used as your login, no mailbox needed), name, and password to create the first account.
3. Add a node
Dashboard → Nodes → + Add node. You'll get a one-time curl | sudo bash command with an embedded enrollment token, run it on the Linux node you want to manage. It installs the agent, sets up the systemd service, and completes enrollment automatically.
Next steps
See the architecture overview for how the pieces fit together, or the admin guide for creating Environments and approving users.