Skip to content

Deployment

The platform is deployed to a server (Proxmox LXC, 32 cores, 64 GB RAM, 2 TB SSD, NAS-backed storage). Per-service Docker images are built by CI on every main push and pushed to GHCR; a systemd timer (veta-auto-pull.timer) on the server polls origin/main every five minutes and runs scripts/homelab-deploy.sh when the SHA changes, which rsyncs the latest compose files and runs docker compose up -d. See the supporting services overview for the server compose layout, and the operations strategy for the full deploy state machine and rationale.

SurfaceURL
Applicationhttps://veta.mnetcs.com/
Grafana dashboardshttps://veta.mnetcs.com/grafana/

Both are served by Traefik on the server and exposed to the public internet through a secure tunnel from the edge server.

The dev container’s post-start.sh runs docker compose up -d automatically on container start. Services are managed by Docker Compose.

Terminal window
# Restart the stack (services managed by Compose)
docker compose --profile trading up -d
# Frontend dev server
cd frontend && npm run dev
# Electron
cd frontend && npm run electron:dev
VariableDefaultPurpose
DATABASE_URL(required)PostgreSQL connection string
OAUTH2_SHARED_SECRETveta-dev-passcodeDemo login passcode
RISK_ENGINE_ENABLEDtrueEnable/disable pre-trade risk checks
VETA_DEMO_MODEtrueShow demo personas on login page
JOURNAL_RETENTION_DAYS90Event retention period
LLM_ENABLEDfalseEnable Ollama LLM advisory