These variables configure the self-hosted Reviewate platform.
| Variable | Required | Default | Description |
|---|
DATABASE_URL | Yes | — | PostgreSQL connection string (e.g., postgresql://user:pass@localhost:5432/reviewate) |
ENCRYPTION_KEY | Yes | — | AES-256-GCM key for encrypting sensitive data. Generate with: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" |
JWT_SECRET_KEY | Yes | — | Secret key for JWT tokens. Generate with: openssl rand -hex 32 |
REDIS_URL | No | redis://localhost:6379 | Redis connection URL |
REDIS_DB | No | 0 | Redis database number |
FRONTEND_URL | No | http://localhost:3000 | Frontend URL for redirects and CORS |
| Variable | Required | Default | Description |
|---|
GITHUB_ENABLED | No | true | Enable GitHub OAuth and integration |
GITLAB_ENABLED | No | true | Enable GitLab OAuth and integration |
GOOGLE_ENABLED | No | true | Enable Google OAuth |
At least one of GitHub or GitLab must be enabled.
| Variable | Required | Default | Description |
|---|
GITHUB_CLIENT_ID | Yes | — | GitHub App client ID |
GITHUB_CLIENT_SECRET | Yes | — | GitHub App client secret |
GITHUB_APP_ID | Yes | — | GitHub App ID |
GITHUB_APP_NAME | Yes | — | GitHub App name |
GITHUB_APP_PRIVATE_KEY_PATH | Yes | — | Path to GitHub App private key (.pem file) |
GITHUB_WEBHOOK_SECRET | Yes | — | Secret for verifying GitHub webhooks |
GITHUB_API_URL | No | https://api.github.com | GitHub Enterprise API URL |
GITHUB_AUTHORIZE_URL | No | https://github.com/login/oauth/authorize | OAuth authorization URL |
GITHUB_TOKEN_URL | No | https://github.com/login/oauth/access_token | OAuth token URL |
GitHub variables are only required when GITHUB_ENABLED=true (the default).
| Variable | Required | Default | Description |
|---|
GITLAB_CLIENT_ID | Yes | — | GitLab OAuth application ID |
GITLAB_CLIENT_SECRET | Yes | — | GitLab OAuth application secret |
GITLAB_WEBHOOK_SECRET | Yes | — | Secret for verifying GitLab webhooks |
GITLAB_INSTANCE_URL | No | https://gitlab.com | GitLab instance URL |
GITLAB_API_URL | No | {instance_url}/api/v4 | GitLab API URL |
GitLab variables are only required when GITLAB_ENABLED=true (the default).
| Variable | Required | Default | Description |
|---|
GOOGLE_CLIENT_ID | Yes | — | Google OAuth client ID |
GOOGLE_CLIENT_SECRET | Yes | — | Google OAuth client secret |
Google variables are only required when GOOGLE_ENABLED=true (the default).
| Variable | Required | Default | Description |
|---|
KUBE_NAMESPACE | No | reviewate | Namespace for code reviewer jobs |
KUBE_SERVICE_ACCOUNT | No | reviewate | Service account for reviewer pods |
KUBE_CLEANUP_JOBS | No | true | Delete completed Kubernetes jobs |
KUBE_TMP_SIZE_LIMIT | No | 1Gi | Size limit for /tmp emptyDir volume (scratch space for repo cloning) |
| Variable | Required | Default | Description |
|---|
REVIEWATE_CONFIG | No | configs/api.yaml | Path to config file |
LOG_LEVEL | No | INFO | Logging level (DEBUG, INFO, WARNING, ERROR) |
ENVIRONMENT | No | development | Environment name |
EXPOSE_ERROR_DETAILS | No | true | Expose technical error details in API responses (disable in production) |
These variables apply to the self-hosted platform deployment and CI integration. They are passed to the code reviewer container at runtime.
| Variable | Required | Default | Description |
|---|
ANTHROPIC_API_KEY | Yes | — | Anthropic API key or proxy API key |
CLAUDE_CODE_OAUTH_TOKEN | Yes | — | OAuth token for headless/container use (generate with claude setup-token) |
Only one of ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN is required, depending on your auth mode.
| Variable | Required | Default | Description |
|---|
REVIEWATE_REVIEW_MODEL | No | sonnet | Review tier model — AnalyzeAgent, FactCheckAgent |
REVIEWATE_UTILITY_MODEL | No | haiku | Utility tier model — Synthesizer, Dedup, Style, etc. |
REVIEWATE_BASE_URL | No | — | Custom base URL (e.g., LiteLLM proxy at http://proxy:4000) |
See Model Configuration for the two-tier model system.