Prerequisites
- Docker Desktop (for the full stack)
- Node.js 22+ (if running frontend outside Docker)
- Python 3.12+ (if running backend outside Docker)
Full Stack via Docker (Recommended)
- Backend: uvicorn
--reloadwatches/appfor Python changes - Frontend: Vite HMR watches
/app/srcfor Vue/TS changes - Both use volume mounts (
./backend:/app,./frontend:/app) so edits are reflected instantly
Environment Variables
Copy.env.example to .env. Key variables:
| Variable | Default | Purpose |
|---|---|---|
POSTGRES_DB | nil_benchmark | Database name |
POSTGRES_USER | nil | DB user |
POSTGRES_PASSWORD | nilpass | DB password |
SECRET_KEY | dev-secret-key… | JWT signing key |
SEED_DB | true | Auto-seed on startup |
SMTP_HOST | (empty) | Empty = console email mode |
MINIO_ROOT_USER | minioadmin | S3 storage credentials |