# Root compose defaults (safe for local self-host / dev) # Copy to .env to override. # --- app ports (host) --- FRONTEND_PORT=3000 BACKEND_PORT=8000 # --- database --- POSTGRES_DB=pipeline POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_PORT=5432 # --- backend settings (see backend/.env.example for full list) --- # REQUIRED: Public URL the backend should advertise in generated instructions/webhook flows. # Update this when the backend is served behind a reverse proxy, custom host, or non-default port. BASE_URL=http://localhost:8000 # Origins the browser is allowed to call the API from. # Must match the URL you open Pipeline on in your browser — not the Forgejo URL. # For local dev: http://localhost:3000 # For a deployed instance: https://pipeline.example.com # Multiple origins: comma-separated — e.g. https://pipeline.example.com,http://localhost:3000 # Leave blank to disable CORS headers (only safe when frontend and backend share the same origin). CORS_ORIGINS=http://localhost:3000 DB_AUTO_MIGRATE=true LOG_LEVEL=INFO REQUEST_LOG_SLOW_MS=1000 AUTH_MODE=local # REQUIRED when AUTH_MODE=local (must be non-placeholder and at least 50 chars). LOCAL_AUTH_TOKEN= # --- frontend settings --- # REQUIRED: Public URL used by the browser to reach the API. # Use `auto` to target the same host currently serving Pipeline on port 8001. # Example (explicit override): NEXT_PUBLIC_API_URL=https://mc.example.com NEXT_PUBLIC_API_URL=auto NEXT_PUBLIC_AUTH_MODE=local # Local auth token (used when NEXT_PUBLIC_AUTH_MODE=local). # When set: the app loads directly without showing the login screen. # When unset: users are prompted to enter their token on first load. # Must be at least 50 characters and match LOCAL_AUTH_TOKEN above. NEXT_PUBLIC_LOCAL_AUTH_TOKEN=