Files
gridpilot.gg/.env.production
2026-01-07 22:05:53 +01:00

77 lines
2.8 KiB
Plaintext

# ==========================================
# GridPilot Production Environment
# ==========================================
# Used by `docker-compose.prod.yml` via `env_file: .env.production`.
#
# Security:
# - Do NOT commit real secrets (use a secret manager / CI vars).
# - Replace all `CHANGE_ME_...` values before deploying.
# ------------------------------------------
# Runtime
# ------------------------------------------
NODE_ENV=production
NEXT_TELEMETRY_DISABLED=1
# ------------------------------------------
# API (NestJS)
# ------------------------------------------
# Controls whether the API uses Postgres or runs in-memory.
# Values: `postgres` | `inmemory`
GRIDPILOT_API_PERSISTENCE=postgres
# Optional: bootstrap demo data (default: true)
# GRIDPILOT_API_BOOTSTRAP=true
# Database connection for the API (preferred: single URL)
DATABASE_URL=postgres://gridpilot_user:CHANGE_ME_IN_PRODUCTION@db:5432/gridpilot_prod
# Postgres container vars (used by `docker-compose.prod.yml` -> `db` service)
POSTGRES_DB=gridpilot_prod
POSTGRES_USER=gridpilot_user
POSTGRES_PASSWORD=CHANGE_ME_IN_PRODUCTION
# ------------------------------------------
# Redis container vars (used by `docker-compose.prod.yml` -> `redis` service)
# ------------------------------------------
REDIS_PASSWORD=CHANGE_ME_IN_PRODUCTION
# ------------------------------------------
# Website (Next.js) - public (exposed to browser)
# ------------------------------------------
NEXT_PUBLIC_SITE_URL=https://your-domain.com
# Browser → API base URL.
# If nginx proxies `/api` to the API service, this is typically:
# https://your-domain.com/api
NEXT_PUBLIC_API_BASE_URL=https://your-domain.com/api
# Optional links / metadata (defaults used when unset)
NEXT_PUBLIC_DISCORD_URL=https://discord.gg/your-invite-code
NEXT_PUBLIC_X_URL=https://x.com/your-handle
# NEXT_PUBLIC_SITE_NAME=GridPilot
# NEXT_PUBLIC_SUPPORT_EMAIL=support@your-domain.com
# NEXT_PUBLIC_SPONSOR_EMAIL=sponsors@your-domain.com
# NEXT_PUBLIC_LEGAL_COMPANY_NAME=Your Company GmbH
# NEXT_PUBLIC_LEGAL_VAT_ID=DE123456789
# NEXT_PUBLIC_LEGAL_REGISTERED_COUNTRY=DE
# NEXT_PUBLIC_LEGAL_REGISTERED_ADDRESS=Street 1, 12345 City
# ------------------------------------------
# Website (Next.js) - server (NOT exposed to browser)
# ------------------------------------------
# SSR/server-to-server base URL inside Docker network
API_BASE_URL=http://api:3000
# Vercel KV (required for email signup storage/rate limit in production)
KV_REST_API_URL=https://your-kv-rest-api-url.vercel-storage.com
KV_REST_API_TOKEN=CHANGE_ME_IN_PRODUCTION
# ------------------------------------------
# Automation / Companion (advanced)
# ------------------------------------------
# NOTE: `AUTOMATION_MODE` is deprecated (see `getAutomationMode()` in adapters).
# AUTOMATION_MODE=production
AUTOMATION_TIMEOUT=30000
RETRY_ATTEMPTS=3
SCREENSHOT_ON_ERROR=false