Complete reference of all environment variables.
GITHUB_CLIENT_ID= # GitHub OAuth App client ID
GITHUB_CLIENT_SECRET= # GitHub OAuth App client secret
GITHUB_REDIRECT_URI= # Optional: custom redirect URI
GITHUB_WEBHOOK_SECRET= # Optional: verify webhook signatures
GITLAB_CLIENT_ID= # GitLab OAuth Application ID
GITLAB_CLIENT_SECRET= # GitLab OAuth Application secret
GITLAB_REDIRECT_URI= # Optional: custom redirect URI
GITLAB_INSTANCE_URL= # Default: https://gitlab.com (for self-hosted)
GITLAB_WEBHOOK_SECRET= # Optional: verify webhook signatures
GOOGLE_CLIENT_ID= # Google OAuth client ID
GOOGLE_CLIENT_SECRET= # Google OAuth client secret
GOOGLE_REDIRECT_URI= # Optional: custom redirect URI
GOOGLE_SHEETS_REDIRECT_URI= # Separate redirect for Sheets OAuth (different scope)
Note: Google Sheets uses the same GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET but a separate redirect URI because it requires different OAuth scopes.
RESEND_API_KEY= # Resend API key for sending invitation emails
EMAIL_FROM= # Sender email address
DATABASE_URL= # Default: postgresql://lastest:lastest@localhost:5432/lastest
MONITORED_BRANCHES= # Default: main,master,develop (comma-separated)
NEXT_PUBLIC_APP_URL= # Your app's public URL (e.g., https://lastest.example.com)
NEXT_PUBLIC_BASE_URL= # Base URL for API calls
BETTER_AUTH_SECRET= # Required in production (random hex)
POSTGRES_PASSWORD= # Required for the bundled docker-compose postgres service
Local Playwright on the host is no longer supported -- every test runs inside an Embedded Browser pod. These vars wire the host app to the EB cluster.
EB_PROVISIONER=kubernetes # Local dev + k8s prod use the kubernetes provisioner
EB_NAMESPACE=lastest # Namespace used for EB Jobs/Pods
EB_IMAGE=lastest-embedded-browser:latest
LASTEST_URL=http://host.k3d.internal:3000 # URL the EB pod uses to reach the app
SYSTEM_EB_TOKEN= # Random hex (`openssl rand -hex 32`); first comma-separated entry is handed to each EB
EB_LAUNCH_INTERVAL_MS= # Optional throttle between EB launches (default 500ms)
In Olares / k8s deployments the same vars apply, with LASTEST_URL pointing at the in-cluster service name instead of host.k3d.internal.
You always need at minimum:
DATABASE_URLSYSTEM_EB_TOKEN so the host can authenticate Embedded Browser podspnpm stack; in production: cluster with the manifests in k8s/)Add OAuth / email / sheets variables as you enable those integrations.
Wiki: Docker Deployment
Wiki: Google Sheets Integration
Wiki: Home
Wiki: _Sidebar