Skip to content

Configuration

All Orvanta components are configured via environment variables. The reference below lists the variables for each component.

VariableRequiredDefaultDescription
DATABASE_URLPostgreSQL connection string. postgres://user:pass@host:5432/orvanta
REDIS_URLRedis connection string. redis://host:6379
SECRET_KEYRandom 64-char hex string. Used for signing tokens. Generate with openssl rand -hex 32.
APP_URLPublic URL of your Orvanta instance. e.g. https://orvanta.example.com
S3_BUCKETS3 bucket name for artefact storage.
S3_REGIONAWS region or equivalent.
S3_ENDPOINTAWS defaultOverride for non-AWS S3-compatible storage (MinIO, R2, etc.).
S3_ACCESS_KEY_IDS3 access key.
S3_SECRET_ACCESS_KEYS3 secret key.
LOG_LEVELinfodebug, info, warn, error.
PORT3000Port the API server listens on.
VariableRequiredDefaultDescription
DATABASE_URLSame as API server.
REDIS_URLSame as API server.
S3_*Same as API server.
WORKER_CONCURRENCY4Number of concurrent run slots per worker process.
WORKER_QUEUEdefaultQueue name this worker listens on.
version: '3.9'
services:
api:
image: ghcr.io/blue-code-garden/orvanta-api:latest
env_file: .env
ports:
- "3000:3000"
depends_on:
- postgres
- redis
worker:
image: ghcr.io/blue-code-garden/orvanta-worker:latest
env_file: .env
depends_on:
- postgres
- redis
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: orvanta
POSTGRES_USER: orvanta
POSTGRES_PASSWORD: changeme
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
volumes:
postgres_data:
redis_data:

Orvanta does not handle TLS termination directly. Use a reverse proxy such as Caddy, nginx, or Traefik in front of the API server. All traffic to APP_URL should be HTTPS.