.env.example 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # briven self-host — copy to `.env` and fill in.
  2. # Generate secrets with `openssl rand -hex 32`.
  3. #
  4. # Post ADR-0002 the platform runs on TWO database engines, so there are
  5. # TWO distinct database passwords below — do not reuse one for the other.
  6. # ─── Domain ──────────────────────────────────────────────────────────────
  7. # Domain you own. The compose creates Traefik routes for:
  8. # ${BRIVEN_DOMAIN} — dashboard (web)
  9. # api.${BRIVEN_DOMAIN} — control plane (api)
  10. # realtime.${BRIVEN_DOMAIN} — realtime websocket/poll service
  11. # docs.${BRIVEN_DOMAIN} — docs
  12. # status.${BRIVEN_DOMAIN} — status page (same container as docs)
  13. # s3.${BRIVEN_DOMAIN} — public MinIO S3 endpoint
  14. BRIVEN_DOMAIN=briven.example.com
  15. # ─── Required secrets — 32+ chars each ──────────────────────────────────
  16. BRIVEN_BETTER_AUTH_SECRET=__set_me__32_plus_chars__
  17. BRIVEN_AUDIT_IP_PEPPER=__set_me__32_plus_chars__
  18. BRIVEN_ENCRYPTION_KEY=__set_me__32_plus_chars__
  19. BRIVEN_RUNTIME_SHARED_SECRET=__set_me__32_plus_chars__
  20. # ─── Database passwords (TWO engines, two passwords) ────────────────────
  21. # Control plane — stock Postgres (pgvector image). Holds users, orgs,
  22. # projects, billing, secrets, auth. Used in BRIVEN_DATABASE_URL.
  23. BRIVEN_POSTGRES_PASSWORD=__set_me_strong__
  24. # Data plane — DoltGres (git-for-data, Postgres-wire). One database per
  25. # customer project. Used in BRIVEN_DATA_PLANE_URL (api/runtime/realtime).
  26. BRIVEN_DOLTGRES_PASSWORD=__set_me_strong__
  27. # ─── Object storage (MinIO) ─────────────────────────────────────────────
  28. # MinIO root password = the S3 secret key the api signs upload URLs with.
  29. BRIVEN_MINIO_ROOT_PASSWORD=__set_me_strong__
  30. # Optional — bucket name + region (defaults shown).
  31. # BRIVEN_MINIO_BUCKET=briven
  32. # BRIVEN_MINIO_REGION=us-east-1
  33. # ─── Data-plane backup ──────────────────────────────────────────────────
  34. # How often the dolt-backup sidecar snapshots every DoltGres database into
  35. # the doltgres_backups volume (seconds). Default = once a day.
  36. # BRIVEN_BACKUP_INTERVAL_SECONDS=86400
  37. # ─── mittera.eu transactional email (optional) ──────────────────────────
  38. # API_URL + API_KEY are required for outbound POST /api/v1/emails (Bearer).
  39. # WEBHOOK_SECRET only needed if mittera posts delivery/bounce events back.
  40. # Until set, magic-link emails print to the api container stdout.
  41. # Webhook URL to register on mittera: https://api.${BRIVEN_DOMAIN}/mittera-webhook
  42. # BRIVEN_MITTERA_API_URL=https://api.mittera.eu
  43. # BRIVEN_MITTERA_API_KEY=...
  44. # BRIVEN_MITTERA_WEBHOOK_SECRET=whsec_...
  45. # ─── OAuth sign-in (all optional) ───────────────────────────────────────
  46. # Each provider's button only shows in the UI when its CLIENT_ID is set.
  47. # Google: redirect URI https://api.${BRIVEN_DOMAIN}/v1/auth/callback/google
  48. # BRIVEN_GOOGLE_CLIENT_ID=...
  49. # BRIVEN_GOOGLE_CLIENT_SECRET=...
  50. # BRIVEN_GITHUB_CLIENT_ID=...
  51. # BRIVEN_GITHUB_CLIENT_SECRET=...
  52. # BRIVEN_KONNOS_CLIENT_ID=...
  53. # BRIVEN_KONNOS_CLIENT_SECRET=...
  54. # BRIVEN_KONNOS_ISSUER=https://code.konnos.org
  55. # BRIVEN_DISCORD_CLIENT_ID=...
  56. # BRIVEN_DISCORD_CLIENT_SECRET=...
  57. # ─── In-platform LLM (optional, Ollama-compatible) ──────────────────────
  58. # BRIVEN_OLLAMA_URL=
  59. # BRIVEN_OLLAMA_API_KEY=
  60. # BRIVEN_OLLAMA_MODEL=qwen2.5-coder:32b
  61. # ─── Billing (Polar — optional, skip for self-host) ─────────────────────
  62. # BRIVEN_POLAR_ACCESS_TOKEN=...
  63. # BRIVEN_POLAR_WEBHOOK_SECRET=...
  64. # BRIVEN_POLAR_PRO_PRODUCT_ID=...
  65. # BRIVEN_POLAR_TEAM_PRODUCT_ID=...
  66. # ─── Public open signups ────────────────────────────────────────────────
  67. # Default false = invite-only. Flip to true for a fully public instance.
  68. BRIVEN_OPEN_SIGNUPS=false