# GitHub App GITHUB_APP_ID=000000 GITHUB_WEBHOOK_SECRET=replace-with-strong-random-secret # Default Docker Compose setup expects the private key inline as base64. GITHUB_APP_PRIVATE_KEY_B64=base64-encoded-pem # Alternative (non-compose / custom compose override only): # GITHUB_APP_PRIVATE_KEY_PATH=/run/secrets/github-app-private-key.pem # GitHub OAuth (admin UI) GITHUB_CLIENT_ID=replace-with-oauth-client-id GITHUB_CLIENT_SECRET=replace-with-oauth-client-secret ADMIN_GITHUB_ID=12345678 SESSION_SECRET=replace-with-long-random-secret CRON_SECRET=replace-with-long-random-secret POSTGRES_DB=jean_ci POSTGRES_USER=jean_ci POSTGRES_PASSWORD=replace-with-long-random-secret # Public app URL used for GitHub check links and webhook fallback routing BASE_URL=http://localhost:3000 NEXT_PUBLIC_BASE_URL=http://localhost:3000 # OpenClaw Gateway OPENCLAW_GATEWAY_URL=http://localhost:18789 OPENCLAW_GATEWAY_TOKEN=replace-with-gateway-token # Public browser URL for opening gateway chats from jean-ci feature sessions OPENCLAW_GATEWAY_PUBLIC_URL=https://openclaw.example.com # Optional dedicated OpenClaw agent id for this deployment (for example: qa) OPENCLAW_AGENT_ID=main # Optional notifications / advanced features OPENCLAW_NOTIFY_ON_CHANGES_REQUESTED=false OPENCLAW_USE_RESPONSES=false # Enable WebSocket mode for full gateway RPC access (session deletion, streaming events) # When enabled, converts OPENCLAW_GATEWAY_URL to ws:// or wss:// automatically OPENCLAW_USE_WEBSOCKET=false # HTTP reviews auto-select Hermes Runs when approval capabilities are advertised. # Require Runs with true; false explicitly selects legacy HTTP behavior. # OPENCLAW_USE_RUNS=true # Optional operator-owned webhook: link/repo/SHA only, no tool command data. # Without this value, no Discord approval notification is sent. # REVIEW_APPROVAL_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/... # Approval controls also require ADMIN_GITHUB_ID, a non-default SESSION_SECRET # of at least 32 characters, and BASE_URL matching the browser's public origin. # Optional public REST API bootstrap token (comma-separated values supported via PUBLIC_API_TOKENS) # PUBLIC_API_TOKEN=replace-with-long-random-token # PUBLIC_API_TOKENS=token-one,token-two # Optional Coolify integration COOLIFY_URL=https://coolify.example.com COOLIFY_DASHBOARD_URL=https://coolify.example.com COOLIFY_TOKEN=replace-with-coolify-token DEFAULT_DEPLOYMENT_DOMAIN=apps.example.com # Optional debugging DEBUG_PIPELINE_REPO=your-org/your-repo # Database DATABASE_URL=generated-by-bootstrap # Runtime DATA_DIR=/data PORT=3000 NODE_ENV=production