All configuration is via environment variables. Set them in .env for Docker Compose, or in your process environment for bare metal.
Server
| Variable | Default | Description |
|---|
MCP_AUTH_TOKEN | — | Bearer token for MCP tool access. If unset, auth is disabled. |
MCP_PORT | 3100 | HTTP listen port |
MCP_TRANSPORT | stdio | Transport mode: http or stdio |
HTTP_BIND_HOST | 0.0.0.0 | Server bind address |
DATABASE_TYPE | sqlite | postgres or sqlite |
POSTGRES_HOST | localhost | Postgres host |
POSTGRES_PORT | 5432 | Postgres port |
POSTGRES_DB | oprelay | Database name |
POSTGRES_USER | oprelay | Database user |
POSTGRES_PASSWORD | — | Database password (required for Postgres) |
LOG_LEVEL | info | Pino log level |
HEALTH_PORT | 8080 | Standalone health check port. Set to 0 to disable. |
Dashboard & Auth
| Variable | Default | Description |
|---|
BETTER_AUTH_SECRET | — | Session signing secret (required for HTTP mode) |
DASHBOARD_AUTH_TOKEN | — | Dashboard API auth token |
ALLOW_SELF_SIGNUP | true | Allow viewer self-registration from login page |
DASHBOARD_SECURE_COOKIES | true | Secure cookie flag. Set false for localhost. |
DASHBOARD_URL | — | Public dashboard URL (for email links) |
AUTH_MODE | multi_user | Auth mode: multi_user or single_user |