Reference
Environment Variables Every environment variable OKE reads — connection URLs, driver overrides, secrets, and CLI flags, grouped by what they configure.
OKE reads environment variables at boot for connection detail and secrets — never for behavior you could declare in oke.config.ts. In docker mode these are written for you into docker/.env.docker; this page is the full map.
Precedence
For anything with both an OKE_* variable and a conventional one (like DATABASE_URL), the
conventional variable wins first, then the OKE_* form, then the built-in default.
Variable Used for Default when unset DATABASE_URLPostgres connection (postgres driver, drizzle-kit) postgres://localhost:5432/okeOKE_STORE_SQL_URLExplicit SQL URL override — OKE_SQLITE_URLSQLite file path (sqlite driver) .oke/app.sqliteOKE_SQL_DRIVERForce the sql driver id at boot config map
Variable Used for Default when unset REDIS_URLRedis connection driver default OKE_STORE_KV_URLExplicit KV URL override — OKE_KV_DRIVERForce the kv driver id config map
Variable Used for Default when unset S3_BUCKETBucket name (s3 driver) — S3_ENDPOINTS3-compatible endpoint (RustFS) — S3_ACCESS_KEY_IDAccess key — S3_SECRET_ACCESS_KEYSecret key — S3_REGIONRegion — S3_SESSION_TOKENSession token (temporary creds) — OKE_STORE_FILES_DBExplicit files location override — OKE_FILES_DRIVERForce the files driver id config map
Written by the first-boot bootstrap; you normally only set these when pointing at an external vault.
Variable Used for Default when unset OKE_VAULT_URLOpenBao base URL — OKE_VAULT_TOKENApp token (least-privilege) — OKE_VAULT_MOUNTKV v2 mount path "secret"
Variable Used for SMTP_URLFull SMTP connection string (smtp://…) SMTP_USEROverrides the user embedded in SMTP_URL SMTP_PASSWORDOverrides the password in SMTP_URL OKE_CHANNEL_EMAIL_URLOKE-specific alternative to SMTP_URL
Variable Used for ANTHROPIC_API_KEYanthropic driver credentialANTHROPIC_MODELModel override for the anthropic driver OPENAI_API_KEYopenai-compatible driver credential
Variable Used for OKE_DOCKER"1" marks docker mode (set by the CLI, not by you)OKE_DB_AUTO_PUSHOverrides db.autoPush at boot OKE_DRIZZLE_DIALECT"sqlite" | "postgresql" for generated drizzle configOKE_DEV_REQUEST_LOG"1" logs requests during oke dev (set by the CLI)OKE_CONSOLE_SECRETConsole session secret — set explicitly in production PORTApp port in production containers (default 6530) NODE_ENV"production" switches the Console to its production posture
Configuration — the declarative side of the same knobs
Vault — how OKE_VAULT_* gets minted on first boot
CLI Reference — which commands write these for you