Menu

Environment Variables

Viktor Fási

Environment Variables

Complete reference of all environment variables.


GitHub OAuth

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 OAuth

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 OAuth (Login)

GOOGLE_CLIENT_ID=                 # Google OAuth client ID
GOOGLE_CLIENT_SECRET=             # Google OAuth client secret
GOOGLE_REDIRECT_URI=              # Optional: custom redirect URI

Google Sheets OAuth

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.


Email

RESEND_API_KEY=                   # Resend API key for sending invitation emails
EMAIL_FROM=                       # Sender email address

Application

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

Embedded Browser Stack (required for any test run)

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.


Minimal Setup

You always need at minimum:

  • A reachable PostgreSQL via DATABASE_URL
  • A SYSTEM_EB_TOKEN so the host can authenticate Embedded Browser pods
  • A running EB stack (locally: pnpm stack; in production: cluster with the manifests in k8s/)

Add OAuth / email / sheets variables as you enable those integrations.


Related

Wiki: Docker Deployment
Wiki: Google Sheets Integration
Wiki: Home
Wiki: _Sidebar

MongoDB Logo MongoDB