Environment Variables
Current environment variables for edictum-api.
AI Assistance
Right page if: you need the current edictum-api environment variables. Wrong page if: you need retired edictum-server variables or Docker Compose setup. Gotcha: the current hosted backend is edictum-api. The old EDICTUM_DATABASE_URL / EDICTUM_REDIS_URL / bootstrap-admin docs were for the retired server stack.
This page documents the current edictum-api environment variables.
Required
| Variable | Purpose |
|---|---|
DATABASE_URL | PostgreSQL connection string |
API_KEY_SALT | Deployment-specific secret used for API key hashing |
NOTIFICATION_CONFIG_KEY | 64 hex characters (32 bytes) used to encrypt notification config at rest |
Common Hosted / Production Settings
| Variable | Purpose |
|---|---|
CLERK_SECRET_KEY | Enables Clerk-authenticated operator traffic |
CLERK_PROXY_URL | Optional Clerk proxy origin |
EDICTUM_BASE_URL | Public API origin, used for generated callback URLs and origin normalization |
EDICTUM_CORS_ORIGINS | Comma-separated browser origins allowed to call the API |
CORS_ALLOWED_ORIGINS | Legacy fallback name if EDICTUM_CORS_ORIGINS is unset |
Listener / Runtime
| Variable | Default | Purpose |
|---|---|---|
HOST | 127.0.0.1 | Host for local listen address construction |
PORT | 8080 | Port for local listen address construction |
LISTEN_ADDR | HOST:PORT | Full listen address override |
SHUTDOWN_TIMEOUT | 10s | Graceful shutdown timeout |
READ_HEADER_TIMEOUT | 5s | HTTP read-header timeout |
APPROVAL_SWEEP_EVERY | 1m | Interval for approval timeout sweep |
Notes
CLERK_SECRET_KEYis optional in local development, but required for the full hosted human-auth flow.EDICTUM_CORS_ORIGINSshould be set to the exact app origins that need browser access.EDICTUM_BASE_URLshould be the public API origin, for examplehttps://api.edictum.ai.NOTIFICATION_CONFIG_KEYmust be exactly 64 hex characters.
No Longer Current
These variables belonged to the retired edictum-server docs and are not the
current public API config surface:
EDICTUM_DATABASE_URLEDICTUM_REDIS_URLEDICTUM_ADMIN_EMAILEDICTUM_ADMIN_PASSWORDEDICTUM_SECRET_KEYEDICTUM_SIGNING_KEY_SECRET
Example .env.local
DATABASE_URL=postgres://edictum:edictum@localhost:5432/edictum?sslmode=disable
API_KEY_SALT=replace-me
PORT=8000
CLERK_SECRET_KEY=sk_test_replace_me
EDICTUM_CORS_ORIGINS=http://localhost:5173
EDICTUM_BASE_URL=http://127.0.0.1:8000
NOTIFICATION_CONFIG_KEY=00112233445566778899aabbccddeeff00112233445566778899aabbccddeeffLast updated on