| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- # briven self-host — copy to `.env` and fill in.
- # Generate secrets with `openssl rand -hex 32`.
- #
- # Post ADR-0002 the platform runs on TWO database engines, so there are
- # TWO distinct database passwords below — do not reuse one for the other.
- # ─── Domain ──────────────────────────────────────────────────────────────
- # Domain you own. The compose creates Traefik routes for:
- # ${BRIVEN_DOMAIN} — dashboard (web)
- # api.${BRIVEN_DOMAIN} — control plane (api)
- # realtime.${BRIVEN_DOMAIN} — realtime websocket/poll service
- # docs.${BRIVEN_DOMAIN} — docs
- # status.${BRIVEN_DOMAIN} — status page (same container as docs)
- # s3.${BRIVEN_DOMAIN} — public MinIO S3 endpoint
- BRIVEN_DOMAIN=briven.example.com
- # ─── Required secrets — 32+ chars each ──────────────────────────────────
- BRIVEN_BETTER_AUTH_SECRET=__set_me__32_plus_chars__
- BRIVEN_AUDIT_IP_PEPPER=__set_me__32_plus_chars__
- BRIVEN_ENCRYPTION_KEY=__set_me__32_plus_chars__
- BRIVEN_RUNTIME_SHARED_SECRET=__set_me__32_plus_chars__
- # ─── Database passwords (TWO engines, two passwords) ────────────────────
- # Control plane — stock Postgres (pgvector image). Holds users, orgs,
- # projects, billing, secrets, auth. Used in BRIVEN_DATABASE_URL.
- BRIVEN_POSTGRES_PASSWORD=__set_me_strong__
- # Data plane — DoltGres (git-for-data, Postgres-wire). One database per
- # customer project. Used in BRIVEN_DATA_PLANE_URL (api/runtime/realtime).
- BRIVEN_DOLTGRES_PASSWORD=__set_me_strong__
- # ─── Object storage (MinIO) ─────────────────────────────────────────────
- # MinIO root password = the S3 secret key the api signs upload URLs with.
- BRIVEN_MINIO_ROOT_PASSWORD=__set_me_strong__
- # Optional — bucket name + region (defaults shown).
- # BRIVEN_MINIO_BUCKET=briven
- # BRIVEN_MINIO_REGION=us-east-1
- # ─── Data-plane backup ──────────────────────────────────────────────────
- # How often the dolt-backup sidecar snapshots every DoltGres database into
- # the doltgres_backups volume (seconds). Default = once a day.
- # BRIVEN_BACKUP_INTERVAL_SECONDS=86400
- # ─── mittera.eu transactional email (optional) ──────────────────────────
- # API_URL + API_KEY are required for outbound POST /api/v1/emails (Bearer).
- # WEBHOOK_SECRET only needed if mittera posts delivery/bounce events back.
- # Until set, magic-link emails print to the api container stdout.
- # Webhook URL to register on mittera: https://api.${BRIVEN_DOMAIN}/mittera-webhook
- # BRIVEN_MITTERA_API_URL=https://api.mittera.eu
- # BRIVEN_MITTERA_API_KEY=...
- # BRIVEN_MITTERA_WEBHOOK_SECRET=whsec_...
- # ─── OAuth sign-in (all optional) ───────────────────────────────────────
- # Each provider's button only shows in the UI when its CLIENT_ID is set.
- # Google: redirect URI https://api.${BRIVEN_DOMAIN}/v1/auth/callback/google
- # BRIVEN_GOOGLE_CLIENT_ID=...
- # BRIVEN_GOOGLE_CLIENT_SECRET=...
- # BRIVEN_GITHUB_CLIENT_ID=...
- # BRIVEN_GITHUB_CLIENT_SECRET=...
- # BRIVEN_KONNOS_CLIENT_ID=...
- # BRIVEN_KONNOS_CLIENT_SECRET=...
- # BRIVEN_KONNOS_ISSUER=https://code.konnos.org
- # BRIVEN_DISCORD_CLIENT_ID=...
- # BRIVEN_DISCORD_CLIENT_SECRET=...
- # ─── In-platform LLM (optional, Ollama-compatible) ──────────────────────
- # BRIVEN_OLLAMA_URL=
- # BRIVEN_OLLAMA_API_KEY=
- # BRIVEN_OLLAMA_MODEL=qwen2.5-coder:32b
- # ─── Billing (Polar — optional, skip for self-host) ─────────────────────
- # BRIVEN_POLAR_ACCESS_TOKEN=...
- # BRIVEN_POLAR_WEBHOOK_SECRET=...
- # BRIVEN_POLAR_PRO_PRODUCT_ID=...
- # BRIVEN_POLAR_TEAM_PRODUCT_ID=...
- # ─── Public open signups ────────────────────────────────────────────────
- # Default false = invite-only. Flip to true for a fully public instance.
- BRIVEN_OPEN_SIGNUPS=false
|