# ============================================================================= # LUMA API - Event data source # ============================================================================= # API key for accessing Luma's API to fetch calendar events # Get from: https://lu.ma/api-keys LUMA_API_KEY= # Calendar ID from your Luma calendar URL (e.g., "fractalboston" from lu.ma/fractalboston) LUMA_CALENDAR_ID= # Secret for validating incoming Luma webhook requests # Set this to a random secure string, then configure it in Luma's webhook settings LUMA_WEBHOOK_SECRET= # ============================================================================= # RESEND - Email service # ============================================================================= # API key for Resend email service # Get from: https://resend.com/api-keys # Free tier: 3,000 emails/month, 100/day RESEND_API_KEY= # ============================================================================= # DISCORD - Notifications and logging # ============================================================================= # Webhook URL for posting event updates (weekly summaries, new event alerts) # Create in: Discord channel → Settings → Integrations → Webhooks DISCORD_EVENTS_WEBHOOK_URL= # Webhook URL for error logging and system metrics (email job stats, errors) # Create in: Discord channel → Settings → Integrations → Webhooks # Can be the same as DISCORD_EVENTS_WEBHOOK_URL or a separate channel DISCORD_LOGGING_WEBHOOK_URL= # Discord role ID to ping when no events are scheduled # Get by: Enable Developer Mode → Right-click role → Copy ID DISCORD_MOD_ROLE_ID= # ============================================================================= # DATABASE - Supabase Postgres # ============================================================================= # PostgreSQL connection string from Supabase # Format: postgresql://user:password@host:port/database # Get from: Supabase project → Settings → Database → Connection string DATABASE_URL= # ============================================================================= # API SECURITY # ============================================================================= # API key required for the /api/subscribe endpoint # Set to a random secure string, then use it in fractal.boston's subscribe form SUBSCRIBE_API_KEY= # ============================================================================= # APPLICATION # ============================================================================= # Base URL for the application, used in email links # Development: http://localhost:3000 # Production: https://fractal.boston APP_URL=http://localhost:3000 # ============================================================================= # VERCEL (Auto-configured) # ============================================================================= # Automatically set by Vercel for cron job authentication # Do not set manually - Vercel manages this CRON_SECRET=