# ========================================== # Doktainer — Environment Variables # ========================================== # /* -------------------------------- Runtime -------------------------------- */ # Frontend runtime NEXT_PUBLIC_PANEL_NAME=DOKTAINER NEXT_PUBLIC_VERSION=v0.2.3 NEXT_PUBLIC_BATCH=Batch-20260909 # For Docker deployment, leave NEXT_PUBLIC_API_URL unset so the # browser uses same-origin /api/v1 and Next proxies it to the backend. NEXT_PUBLIC_API_URL=http://localhost:4000/api/v1 NEXT_PUBLIC_WS_URL=ws://localhost:4000 # /* --------------- Connection settings for PostgreSQL database -------------- */ # Frontend server. Optional for same-origin browser access; recommended as the # canonical callback/fallback origin in production. Use https and no path. FRONTEND_URL=http://localhost:3000 # Optional canonical/backend URL if ever needed BACKEND_URL=http://127.0.0.1:4000 # Backend listen address PORT=4000 HOST=0.0.0.0 NODE_ENV=development # Database (PostgreSQL) DATABASE_URL="postgresql://doktainer:doktainerdb@localhost:5432/doktainer?schema=public" # Absolute lifetime for database-backed login sessions. User settings control # the shorter sliding inactivity timeout. SESSION_ABSOLUTE_TIMEOUT_HOURS=168 # /* -------------------------- Reverse proxy / rate limiting ------------------------- */ # Set true only when Doktainer is behind a trusted reverse proxy that overwrites # X-Forwarded-Host and X-Forwarded-Proto. This enables the effective-origin # fallback for clients that do not send Fetch Metadata. TRUST_PROXY=false RATE_LIMIT_MAX=300 RATE_LIMIT_TIME_WINDOW=1 minute # Optional comma-separated extra frontend origins for direct backend access. # CORS_ORIGINS=http://localhost:3000,https://panel.example.com # Optional internal backend URL. # INTERNAL_API_URL=http://127.0.0.1:4000 # Development-only example. Production rejects this value. # Generate a production key with: openssl rand -hex 32 ENCRYPTION_KEY=dev-32-char-encryption-key-here! # /* -------------------------- Optional integrations ------------------------- */ # Optional integrations (deprecated, may be removed in future) # CLOUDFLARE_API_TOKEN= # CLOUDFLARE_ZONE_ID=