Oxy is configured primarily through environment variables. This page covers the full set of variables for production deployments.Documentation Index
Fetch the complete documentation index at: https://oxy.tech/docs/llms.txt
Use this file to discover all available pages before exploring further.
Set Required Variables
The variables you need depend on your deployment mode.Single-workspace mode (Multi-workspace mode (
oxy serve --local) — minimal setup:oxy serve) — required:GitHub App (multi-workspace only)
To enable importing repositories as workspaces, set up a GitHub App and configure these variables. See the GitHub App Setup guide for step-by-step instructions.
Enterprise Features (optional)
Required only when using Observability uses the existing
oxy serve --enterprise or oxy start --enterprise:OXY_DATABASE_URL Postgres connection by default.Full Variable Reference
Core
| Variable | Required | Default | Description |
|---|---|---|---|
OXY_DATABASE_URL | Required (multi-workspace) | — | PostgreSQL connection string |
OXY_STATE_DIR | No | ~/.local/share/oxy | Directory for workspaces and runtime data |
OXY_OWNER | No | — | Email address granted Owner role on login. Owners can promote other users to Admin. When unset, all users are admin (single-user default). |
OXY_API_URL | No | derived from request | Base URL of the API (set when frontend and backend are on different domains) |
Authentication
| Variable | Required | Description |
|---|---|---|
MAGIC_LINK_SECRET | For magic-link auth | Secret used to sign magic-link tokens |
GOOGLE_CLIENT_ID | For Google OAuth | OAuth 2.0 client ID from Google Cloud Console |
GOOGLE_CLIENT_SECRET | For Google OAuth | OAuth 2.0 client secret |
OKTA_CLIENT_ID | For Okta OAuth | Okta application client ID |
OKTA_CLIENT_SECRET | For Okta OAuth | Okta application client secret |
OKTA_DOMAIN | For Okta OAuth | Your Okta domain (e.g. company.okta.com) |
GitHub App
| Variable | Required | Description |
|---|---|---|
GITHUB_APP_ID | For GitHub import | Numeric App ID from the GitHub App settings page |
GITHUB_APP_SLUG | For GitHub import | App slug (appears in the app’s GitHub URL) |
GITHUB_APP_PRIVATE_KEY | For GitHub import | Full RSA private key PEM block |
GITHUB_CLIENT_ID | For GitHub import | OAuth Client ID from the app settings |
GITHUB_CLIENT_SECRET | For GitHub import | OAuth Client Secret from the app settings |
GITHUB_STATE_SECRET | For GitHub import | Random secret for HMAC-signing OAuth state and selection tokens |
Enterprise (Observability)
| Variable | Required | Description |
|---|---|---|
OXY_OBSERVABILITY_BACKEND | No | Storage backend: auto-detected (postgres if OXY_DATABASE_URL set, else duckdb) |
OXY_SERVICE_NAME | No | Service name for spans (default: oxy) |
OXY_OBSERVABILITY_LOG_LEVEL | No | Log level for observability layer (default: debug) |