# Copy this file to .env and replace every placeholder before use. # PostgreSQL DB_HOST=127.0.0.1 DB_PORT=5432 DB_NAME=app DB_USER=app DB_PASS=replace-with-a-database-password # Authentication and internal service access JWT_SECRET=replace-with-a-long-random-jwt-secret BOT_API_KEY=replace-with-a-random-service-key-at-least-32-characters BOT_API_KEY_SCOPES=discord:session,outbox:claim,outbox:deliver # Discord adapter DISCORD_BOT_TOKEN=replace-with-your-discord-bot-token DISCORD_ENROLLMENT_MODE=allowlist # Local default; Docker Compose overrides this inside the bot container. DISCORD_ALLOWLIST=123456789012345678 API_URL=http://127.0.0.1:5000 # OpenAI-compatible model provider OPENROUTER_API_KEY=replace-with-your-provider-api-key OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # AI_MODEL=provider/model-name # Scheduler and durable outbox JOB_POLL_INTERVAL=5 JOB_BATCH_SIZE=20 JOB_LEASE_SECONDS=300 OUTBOX_POLL_INTERVAL=5 OUTBOX_BATCH_SIZE=20 # Reminder defaults DEFAULT_TIMEZONE=UTC # Optional runtime settings LOG_LEVEL=INFO MAX_REQUEST_BYTES=1048576 NOTIFICATION_TIMEOUT=10 NTFY_BASE_URL=https://ntfy.sh # NTFY_TOKEN=