# Copy to .env and edit. Never commit .env. # context.dev API key (Bearer). Get one free at https://link.context.dev/webdog # When set here, the server uses this key for all Context.dev requests and the UI does not ask users for one. # Leave blank to let each account save its own key in Settings. CONTEXT_DEV_API_KEY= # Resend email delivery. When both are set here, users can add email recipients without seeing or entering # the Resend API key or sender address. Leave blank to let each account configure email delivery in Settings. RESEND_API_KEY= RESEND_SEND_FROM_EMAIL= # Optional attribution text shown in notification footers POSTFIX_TO_ALERTS= # Optional maximum number of active monitors (targets) per account. Blank means unlimited. MAX_ALERTS= # AI change summaries (optional). When set, accounts use these instead of per-account keys in Settings. # OPENAI_API_KEY= — direct OpenAI API access # AI_GATEWAY_API_KEY= — Vercel AI Gateway (https://vercel.com/docs/ai-gateway) # AI_MODEL= — optional default model for all accounts (e.g. gpt-5.4-nano or openai/gpt-5.4-nano) # PostgreSQL connection string. Local Docker Compose defaults: # If 5432 is already in use, set POSTGRES_PORT to another host port and match DATABASE_URL. POSTGRES_PORT=5432 DATABASE_URL=postgres://postgres:postgres@localhost:5432/webdog_ai # --- Better Auth --- # Railway: Leave BETTER_AUTH_URL unset in the Railway dashboard unless you want to override — the app # defaults to https://${RAILWAY_PUBLIC_DOMAIN} when public networking supplies that variable. # This file keeps BETTER_AUTH_URL for local cp .env.example -> .env (match http://localhost:3000). # Locally: keep BETTER_AUTH_URL=http://localhost:3000 unless you browse another origin (see README). # If Railway’s domain env is empty: set NEXT_PUBLIC_APP_URL below (or BETTER_AUTH_URL above). # # Rare multi-host: BETTER_AUTH_ALLOWED_HOSTS, BETTER_AUTH_TRUSTED_ORIGINS, BETTER_AUTH_DISABLE_* - README. # # BETTER_AUTH_SECRET: Local dev - optional (built-in dev default; set a random value for realism). # Production hosts, including Railway - required. Generate: openssl rand -base64 32 BETTER_AUTH_SECRET= BETTER_AUTH_URL=http://localhost:3000 # NEXT_PUBLIC_APP_URL= # How often the worker runs scrapes. Default every 15 min. SCRAPE_CRON=*/15 * * * * # Email alerts can be configured either by the server variables above or per account in Settings.