2025-11-01 15:49:29 +01:00
|
|
|
DATABASE_URL=
|
|
|
|
|
|
2026-03-09 11:18:22 +01:00
|
|
|
## Object storage - choose one option below
|
2024-03-04 20:30:58 +01:00
|
|
|
|
2026-03-09 11:18:22 +01:00
|
|
|
# Option A: Cloudflare R2 (legacy)
|
|
|
|
|
# CLOUDFLARE_BUCKET_DOMAIN=https://cdn.example.com
|
|
|
|
|
# CLOUDFLARE_ACCESS_KEY=
|
|
|
|
|
# CLOUDFLARE_SECRET_ACCESS_KEY=
|
|
|
|
|
# CLOUDFLARE_ACCOUNT_ID=
|
|
|
|
|
# CLOUDFLARE_IMAGE_BUCKET_DOMAIN=https://media.example.com
|
2024-04-11 21:25:29 +01:00
|
|
|
|
2026-03-09 11:18:22 +01:00
|
|
|
# Option B: MinIO or other S3-compatible storage (on-premise, data residency)
|
|
|
|
|
# When API runs locally: use localhost. When API runs in Docker: use http://minio:9000
|
|
|
|
|
# OBJECT_STORAGE_ENDPOINT=http://localhost:9000
|
|
|
|
|
# OBJECT_STORAGE_PUBLIC_ENDPOINT=http://localhost:9000
|
|
|
|
|
# OBJECT_STORAGE_ACCESS_KEY_ID=minioadmin
|
|
|
|
|
# OBJECT_STORAGE_SECRET_ACCESS_KEY=minioadmin
|
|
|
|
|
# OBJECT_STORAGE_FORCE_PATH_STYLE=true
|
|
|
|
|
# OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL=http://localhost:9000/media
|
2024-03-04 20:30:58 +01:00
|
|
|
|
2024-09-18 04:26:24 +01:00
|
|
|
# Email
|
2024-04-12 04:57:19 +01:00
|
|
|
SMTP_HOST=
|
|
|
|
|
SMTP_USER=
|
|
|
|
|
SMTP_PASSWORD=
|
|
|
|
|
SMTP_PORT=
|
2026-03-09 11:18:22 +01:00
|
|
|
SMTP_SENDER=
|
|
|
|
|
|
|
|
|
|
# Enterprise features (optional for self-hosted deployments)
|
|
|
|
|
# Request a key from ClassroomIO. Leave empty if you do not use Enterprise-only features.
|
|
|
|
|
LICENSE_KEY=
|
2024-09-30 01:49:59 +01:00
|
|
|
|
|
|
|
|
# Sentry DNS
|
2025-09-21 19:35:41 +01:00
|
|
|
SENTRY_DNS=
|
|
|
|
|
|
2026-03-09 11:18:22 +01:00
|
|
|
OPENAPI_URL=
|
|
|
|
|
|
|
|
|
|
PRIVATE_SERVER_KEY=
|
|
|
|
|
|
|
|
|
|
# Public API URL (used for absolute URLs in emails, redirects, etc.)
|
|
|
|
|
PUBLIC_SERVER_URL=
|