-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
87 lines (73 loc) · 4.13 KB
/
Copy path.env.example
File metadata and controls
87 lines (73 loc) · 4.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# =============================================================================
# LOTTO - Queue App Environment Variables
# =============================================================================
# Copy this file to .env.local for local development
# .env.local is gitignored and should NEVER be committed
# =============================================================================
# -----------------------------------------------------------------------------
# Local-first defaults (Docker)
# -----------------------------------------------------------------------------
# docker-compose starts:
# - app (Next.js)
# - db (Postgres)
# - maildev (SMTP + web UI)
DATABASE_URL=postgresql://postgres:postgres@db:5432/neondb?sslmode=disable
# Optional separate Arcade leaderboard database.
# Use a least-privilege role that can only SELECT/INSERT arcade_high_scores.
# ARCADE_DATABASE_URL=postgresql://arcade_scores_runtime:password@host/db?sslmode=require
# ARCADE_DATABASE_TIMEOUT_MS=5000
# -----------------------------------------------------------------------------
# Authentication
# -----------------------------------------------------------------------------
# Required: Generate with: openssl rand -base64 32
AUTH_SECRET=generate_with_openssl_rand_base64_32
AUTH_TRUST_HOST=true
# Bypass auth entirely (local dev only - DO NOT USE IN PRODUCTION)
AUTH_BYPASS=false
# Required for AI translation (Feature 3): master key used to encrypt provider
# API keys at rest (AES-256-GCM). Must be a base64-encoded 32-byte value.
# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
ENCRYPTION_MASTER_KEY=generate_base64_32_bytes
# Feature flag: optimistic admin action UX (legacy devices / high-latency networks)
NEXT_PUBLIC_ADMIN_OPTIMISTIC_UI=false
# Public, build-time brand profile. Omit for the William Temple House default.
# Available profiles: william-temple-house, st-johns-food-share
# NEXT_PUBLIC_LOTTO_BRAND=st-johns-food-share
# Optional FEED public inventory endpoint. Queue-only profiles keep inventory
# hidden when this is unset. The William Temple House profile declares its
# existing production FEED URL as its profile default.
# For local FEED development, use http://localhost:3001/api/public/inventory.json.
# NEXT_PUBLIC_FEED_PUBLIC_INVENTORY_URL=https://feed.williamtemple.app/api/public/inventory.json
# Exact staff addresses, comma-separated. This is the safest option for public
# email providers and may be combined with an agency-managed domain below.
# ADMIN_EMAIL_ALLOWLIST=authorized.person@gmail.com
# Optional managed domain. When both values are set, an address is authorized
# when it appears in the exact allowlist OR belongs to this domain. Production
# fails closed when neither policy is set; local development remains open.
ADMIN_EMAIL_DOMAIN=williamtemple.org
# -----------------------------------------------------------------------------
# Email Provider
# -----------------------------------------------------------------------------
# Local MailDev (runs via docker-compose)
EMAIL_FROM=login@localhost
EMAIL_SERVER_HOST=maildev
EMAIL_SERVER_PORT=1025
# EMAIL_SERVER_USER=
# EMAIL_SERVER_PASSWORD=
# Production Resend (set in Vercel)
# RESEND_API_KEY=re_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# EMAIL_FROM=login@williamtemple.app
# -----------------------------------------------------------------------------
# Optional URLs (production)
# -----------------------------------------------------------------------------
# AUTH_URL=https://williamtemple.app
# =============================================================================
# Notes
# =============================================================================
# - To run fully offline, leave RESEND_API_KEY unset and keep MAILDEV defaults.
# - Production (Vercel): create one project per agency and set AUTH_BYPASS=false,
# DATABASE_URL (agency-specific Neon), AUTH_SECRET, AUTH_TRUST_HOST=true,
# NEXT_PUBLIC_LOTTO_BRAND, an agency-specific ADMIN_EMAIL_ALLOWLIST and/or
# ADMIN_EMAIL_DOMAIN, and agency-specific EMAIL_FROM,
# RESEND_API_KEY, and NODE_ENV=production.
# - MailDev UI: http://localhost:1080 ; SMTP: maildev:1025 from the app container.