-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment
gladsonsam edited this page Mar 30, 2026
·
6 revisions
- Server: Docker and Docker Compose (for the path below), or Rust + PostgreSQL for local development.
- Agent: Windows 10/11 (64-bit). Build on Windows, or cross-compile from Linux with cargo-xwin.
Copy the example environment file from the repository root and edit it:
cp env.example .envSet at least:
| Variable | Purpose |
|---|---|
POSTGRES_PASSWORD |
Database password (required by Compose). |
UI_PASSWORD |
Password for the web dashboard login. |
AGENT_SECRET |
Shared secret; agents must use the same value (see Usage). |
Optional: POSTGRES_DB, POSTGRES_USER (defaults: monitor / monitor).
Full variable reference: Configuration.
Use this when you open http://host:9000 without a TLS reverse proxy in front:
- Set
PUBLISH_PORT=9000(or another host port) in.env. - Set
ENFORCE_HTTPS=false. Otherwise the server expectsX-Forwarded-Proto: httpsand plain HTTP gets HTTP 426.
Then:
docker compose up -d --buildOpen http://localhost:9000 (or http://<server-ip>:9000) and sign in with UI_PASSWORD.
The Compose file includes Traefik labels:
- Ensure the external Docker network exists (default name
traefik, or setTRAEFIK_NETWORK). - In
.env:TRAEFIK_ENABLE=true,TRAEFIK_HOST=your.domain.example, and matchTRAEFIK_ENTRYPOINT/TRAEFIK_CERTRESOLVERto your Traefik config. - You can omit
PUBLISH_PORTif traffic only goes through Traefik. - Keep
ENFORCE_HTTPS=trueso the server trusts requests where the proxy setsX-Forwarded-Proto: https.
Point agents at wss://your.domain.example/ws/agent when the public URL is HTTPS.
curl -sS -o /dev/null -w "%{http_code}" http://127.0.0.1:9000/healthzExpect 200. The server image defines a Docker HEALTHCHECK on /healthz.
The image is built from server/Dockerfile (multi-stage: frontend build, Rust build, slim runtime). From the repo root:
docker compose buildInstall and configure
Day to day
Integrations
Developers and security