docs / operations / configuration
Configuration
Environment-driven config — the knobs that matter.
All runtime config is environment-driven (OUROPASS_*). Core secrets arrive via env — never committed, never baked into the image. The annotated list lives in .env.example; a few knobs (addr, issuer URL, DB driver/DSN) are derived for you in docker-compose.yml.
| Variable | Purpose |
|---|---|
DOMAIN | Public domain Caddy provisions HTTPS for; becomes the token iss. |
OUROPASS_TAG | Issuer image tag from GHCR — pin a released version for reproducibility. |
OUROPASS_OWNER_KEYS | Comma-separated owner stake-key hashes allowed to sign in to /admin as owner. Compute with issuer stake-hash <addr>. |
OUROPASS_FIELD_KEY | AES-256-GCM master key encrypting sensitive 🔒 fields at rest. |
OUROPASS_SERVER_SALT | HMAC salt for the pseudonymous sub claim. |
OUROPASS_CHAIN_API_KEY | Optional Koios API key — raises the free rate limit if you see 429s. |
Note — there is no Telegram env. Bots are configured entirely in the admin console (
/admin→ Channels); each instance stores its own encrypted token in the database.
Found an issue in these docs? Edit this page on GitHub ↗