DATABASE_URL= ## Object storage - choose one option below # 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 # 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 # Email SMTP_HOST= SMTP_USER= SMTP_PASSWORD= SMTP_PORT= 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= # Sentry DNS SENTRY_DNS= OPENAPI_URL= PRIVATE_SERVER_KEY= # Public API URL (used for absolute URLs in emails, redirects, etc.) PUBLIC_SERVER_URL=