NODE_ENV=production # Shared by apps/bot (gateway connection) and apps/webui (narrow REST calls + # BullMQ job enqueueing for guild backups, giveaways and the scheduler). BOT_TOKEN= BOT_CLIENT_ID= BOT_CLIENT_SECRET= # Optional: register slash commands only on this guild (instant sync for dev). # Leave empty in production so commands are global. When set, global commands # are cleared; when empty, leftover guild-scoped commands are cleared on startup # so Discord does not show every command twice. BOT_GUILD_ID= DATABASE_URL=postgresql://nexumi:nexumi@postgres:5432/nexumi REDIS_URL=redis://redis:6379 LOG_LEVEL=info DEFAULT_LOCALE=de METRICS_TOKEN= SENTRY_DSN= BACKUP_RETENTION_DAYS=14 BACKUP_CRON=0 3 * * * BACKUP_DIR=/backups HEALTH_PORT=8080 # Bot health stays internal (no published port). Override only if you expose it. PUBLIC_BASE_URL=http://localhost:8080 TWITCH_CLIENT_ID= TWITCH_CLIENT_SECRET= # WebUI (apps/webui) – public URL behind Traefik WEBUI_URL=https://dashboard.nexumi.de # Discord Developer Portal OAuth2 redirect: # https://dashboard.nexumi.de/api/auth/callback # Must be at least 32 characters long. Generate e.g. with `openssl rand -hex 32`. SESSION_SECRET= # Comma-separated Discord user IDs treated as global bot owners (owner panel, Phase 7 Batch C). OWNER_USER_IDS= # Public site / bot links (Phase 8) SUPPORT_SERVER_URL= LEGAL_OPERATOR_NAME=HexaHost Inh. Samuel Müller LEGAL_OPERATOR_ADDRESS=Richard-Miller-Straße 1, 94051 Hauzenberg, Deutschland LEGAL_OPERATOR_EMAIL=info@hexahost.de LEGAL_OPERATOR_PHONE=+49 15566 175855