Reference
Environment Variables
Configure DevPanel by setting these variables in your .env file at the project root.
| Variable | Default | Description |
|---|---|---|
| POSTGRES_USER | devpanel | PostgreSQL username |
| POSTGRES_PASSWORD | — generated — | PostgreSQL password. Auto-generated by the installer. |
| POSTGRES_DB | devpanel | PostgreSQL database name |
| JWT_SECRET | — generated — | Secret for signing JWT tokens. Auto-generated by the installer. |
| ENCRYPTION_KEY | — generated — | 32-byte hex key for encrypting environment variables at rest. Auto-generated. |
| DASHBOARD_PORT | 33000 | Host port the web dashboard is exposed on |
| DASHBOARD_URL | http://localhost:33000 | Public URL of the dashboard. Used for CORS and internal redirects. |
| SERVER_HOST | localhost | Hostname used by the local agent to register itself with the API |
| CF_API_TOKEN | — optional — | Cloudflare API token with DNS Edit and Zone Read permissions. Required for domain & SSL automation. |
| CF_ACCOUNT_ID | — optional — | Cloudflare account ID. Required when using Cloudflare Tunnels. |
| CF_TUNNEL_ID | — optional — | Cloudflare Tunnel ID to use for exposing services without open ports. |
| ALLOW_AGENT_AUTO_REGISTER | true | When true, agents can register with the API without a pre-created server token. Set to false to require manual approval. |
Generating secrets manually
The installer generates all secrets automatically. If you need to rotate them:
bash
# JWT_SECRET
openssl rand -hex 32
# ENCRYPTION_KEY (must be exactly 64 hex chars = 32 bytes)
openssl rand -hex 32
# POSTGRES_PASSWORD
openssl rand -hex 24After editing .env, run devpanel restart to apply changes.