Skip to content

Configuration reference ​

Generated from packages/config/src/variables.ts by pnpm docs:generate. Do not edit by hand.

Every service validates its environment at start-up and prints all problems at once. Secret variables can also be read from a file: set NAME_FILE to the path instead of NAME (not both). The installer and the Helm chart set these variables; see install.md and kubernetes.md.

The "Read by" column lists the services whose configuration includes the variable. cli is the quavon command line, migrate the migration job.

VariableExpectedExampleSecretDefaultRead by
DATABASE_MIGRATOR_URLPostgreSQL connection URL (postgres:// or postgresql://)postgres://<user>:<password>@<host>:5432/<db>yes, or DATABASE_MIGRATOR_URL_FILEcli, migrate
DATABASE_SSLone of disable, require, verify-fullverify-fullnodisableapi, worker, cli, migrate
DATABASE_SSL_CA_FILEpath to a readable PEM CA bundle, only with DATABASE_SSL=verify-full/run/secrets/<db-ca>.pemnoapi, worker, cli, migrate
DATABASE_SYSTEM_URLPostgreSQL connection URL (postgres:// or postgresql://)postgres://<user>:<password>@<host>:5432/<db>yes, or DATABASE_SYSTEM_URL_FILEapi, worker, cli
DATABASE_URLPostgreSQL connection URL (postgres:// or postgresql://)postgres://<user>:<password>@<host>:5432/<db>yes, or DATABASE_URL_FILEapi, worker, cli
GITHUB_URLhttps URL of github.com or a GitHub Enterprise Server hosthttps://<ghes-host>nohttps://github.comapi, worker
HOSThostname or IP address to listen on0.0.0.0no0.0.0.0api
LOG_LEVELone of fatal, error, warn, info, debug, trace, silentinfonoinfoapi, worker, web, cli, migrate, sandbox-runner, sandbox-egress
NODE_ENVone of development, test, productionproductionnodevelopmentapi, worker, web, cli, migrate, sandbox-runner, sandbox-egress
OTEL_EXPORTER_OTLP_ENDPOINThttp(s) URL of an OTLP/HTTP collectorhttp://<collector-host>:4318noapi, worker, web, cli, migrate, sandbox-runner, sandbox-egress
OTEL_SERVICE_NAMEnon-empty stringquavon-apinoapi, worker, web, cli, migrate, sandbox-runner, sandbox-egress
PORTinteger between 1 and 655353000no3000api, sandbox-egress
PUBLIC_URLexternally reachable http(s) base URL of the API, without trailing slashhttps://<quavon-host>noapi
QUAVON_DEPLOYMENTcompose, helm or other; set by the installer or charthelmnootherapi, worker
QUAVON_EDITIONone of self_hosted, enterpriseself_hostednoself_hostedapi, worker, sandbox-runner
QUAVON_ENCRYPTION_KEYbase64-encoded 32-byte key (openssl rand -base64 32)<base64-32-byte-key>yes, or QUAVON_ENCRYPTION_KEY_FILEapi, worker, cli
QUAVON_FIRECRACKER_BINabsolute path of the pinned firecracker binary/usr/local/bin/firecrackerno/usr/local/bin/firecrackersandbox-runner
QUAVON_FIRECRACKER_CHROOT_BASEabsolute path of the jailer chroot base directory/srv/jailerno/srv/jailersandbox-runner
QUAVON_FIRECRACKER_IMAGES_FILEabsolute path of the kernel/rootfs lockfile (sha256 pinned)/opt/quavon/firecracker/images.lock.jsonno/opt/quavon/firecracker/images.lock.jsonsandbox-runner
QUAVON_FIRECRACKER_SNAPSHOTStrue or false; restore VMs from per-image snapshotsfalsenofalsesandbox-runner
QUAVON_FIRECRACKER_UID_BASEfirst uid/gid of the range used for jailed VMs (one per concurrent VM)200000no200000sandbox-runner
QUAVON_JAILER_BINabsolute path of the pinned jailer binary/usr/local/bin/jailerno/usr/local/bin/jailersandbox-runner
QUAVON_MCP_CONTEXTallowed (tenant admins may connect remote MCP servers as review context) or disabled (hard off)disablednodisabledapi, worker
QUAVON_MCP_PRIVATE_HOSTScomma-separated hostnames of MCP servers the self-hosted edition may reach on private addresses; ignored in the enterprise editionmcp.internal.examplenoemptyapi, worker
QUAVON_PREVIOUS_ENCRYPTION_KEYScomma-separated base64-encoded 32-byte keys that are being rotated out<base64-32-byte-key>,<base64-32-byte-key>yes, or QUAVON_PREVIOUS_ENCRYPTION_KEYS_FILEemptyapi, worker, cli
QUAVON_PRODUCT_TELEMETRYallowed (an instance admin may opt in) or disabled (hard off, e.g. air-gapped)disablednoallowedapi, worker
QUAVON_PRODUCT_TELEMETRY_URLhttps URL that receives opted-in product telemetry reportshttps://<telemetry-host>/v1/reportsnoapi, worker
QUAVON_SANDBOX_ALLOW_INSECUREtrue or false; true only for development and tests with docker-runc-insecurefalsenofalsesandbox-runner
QUAVON_SANDBOX_BACKENDone of docker-runsc, docker-runc-insecure (development only), firecracker, kubernetes-runscdocker-runscnodocker-runscsandbox-runner
QUAVON_SANDBOX_CONCURRENCYinteger between 1 and 642no2sandbox-runner
QUAVON_SANDBOX_DOCKER_SOCKETabsolute path of the Docker Engine socket/var/run/docker.sockno/var/run/docker.socksandbox-runner
QUAVON_SANDBOX_EGRESS_NETWORKname of the internal Docker network that contains only the egress proxyquavon_sandbox-egressnosandbox-runner
QUAVON_SANDBOX_EGRESS_PROXYhost:port of the sandbox egress proxy on the egress networksandbox-egress:3128nosandbox-runner
QUAVON_SANDBOX_IMAGES_FILEabsolute path of the sandbox image lockfile (images by digest)/opt/quavon/sandbox/images.lock.jsonno/opt/quavon/sandbox/images.lock.jsonsandbox-runner
QUAVON_SANDBOX_K8S_NAMESPACEKubernetes namespace in which the runner creates sandbox podsquavon-sandboxnoquavon-sandboxsandbox-runner
QUAVON_SANDBOX_K8S_RUNTIME_CLASSRuntimeClass of sandbox pods whose handler is gVisor runscgvisornogvisorsandbox-runner
QUAVON_SANDBOX_PREVIOUS_SIGNING_KEYScomma-separated base64-encoded sandbox signing keys that are being rotated out<base64-32-byte-key>yes, or QUAVON_SANDBOX_PREVIOUS_SIGNING_KEYS_FILEemptyworker, sandbox-runner
QUAVON_SANDBOX_REGISTRIEScomma-separated registry hostnames repositories may allow for egressregistry.npmjs.org,pypi.org,files.pythonhosted.org,proxy.golang.orgnoemptysandbox-runner, sandbox-egress
QUAVON_SANDBOX_RUNSC_PLATFORMgVisor platform registered for the runsc runtime: systrap, kvm or ptracesystrapnosystrapsandbox-runner
QUAVON_SANDBOX_SIGNING_KEYbase64-encoded key of at least 32 bytes shared by worker and sandbox-runner<base64-32-byte-key>yes, or QUAVON_SANDBOX_SIGNING_KEY_FILEworker, sandbox-runner
QUAVON_SMTP_FROMsender e-mail address, required with QUAVON_SMTP_HOSTcodelotse@<your-domain>noapi, worker
QUAVON_SMTP_HOSThostname of the SMTP server for e-mail notifications; e-mail channels are off when unsetsmtp.<your-domain>noapi, worker
QUAVON_SMTP_PASSWORDSMTP password, required with QUAVON_SMTP_USERNAME<smtp-password>yes, or QUAVON_SMTP_PASSWORD_FILEapi, worker
QUAVON_SMTP_PORTinteger between 1 and 65535587no587api, worker
QUAVON_SMTP_SECURITYstarttls (upgrade required) or tls (implicit TLS, usually port 465)starttlsnostarttlsapi, worker
QUAVON_SMTP_USERNAMESMTP user name; omit for servers without authentication<smtp-user>noapi, worker
QUAVON_WEBPUSH_PRIVATE_KEYbase64url-encoded 32-byte P-256 private key (VAPID) for browser push notifications; push is off when unset<base64url-32-byte-p256-key>yes, or QUAVON_WEBPUSH_PRIVATE_KEY_FILEapi, worker
QUAVON_WEBPUSH_SUBJECTcontact for push services, a mailto: or https: URL, required with QUAVON_WEBPUSH_PRIVATE_KEYmailto:ops@<your-domain>noapi, worker
TRUST_PROXYfalse, a number of trusted proxy hops, or comma-separated proxy IPs/CIDRs1nofalseapi
VALKEY_TLStrue or false, matching the VALKEY_URL schemetruenofalseapi, worker, sandbox-runner, sandbox-egress
VALKEY_URLValkey connection URL (redis:// or rediss://)rediss://<user>:<password>@<host>:6379yes, or VALKEY_URL_FILEapi, worker, sandbox-runner, sandbox-egress

The open core is released under the Apache License 2.0.