Skip to Content
Payne configuration reference

Payne configuration reference

Every variable on this page is server-only and must never use a NEXT_PUBLIC_ prefix. None is returned to the browser. Example-file values are local formatting examples, not production-safe defaults.

VariableApplies toRequired whenDefaultSecretBoundaryValidationDefined in
PAYNE_MODEweb, worker, buildproduction processsimulation in development; none in productionNoServer-onlysimulation, local-live, or testsrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_APP_VERSIONweb, workernevernoneNoServer-onlytrimmed non-empty value when setsrc/server/runtime-config-core.ts
PAYNE_WORKER_HEALTH_URLwebwhen web should report worker reachabilitynoneNoServer-onlyabsolute HTTP(S) URLsrc/server/runtime-config-core.ts, .env.example
PAYNE_WORKER_HOSTworkernever127.0.0.1NoServer-onlyhost string consumed by the Node listenerworker/index.ts, compose.local-live.yaml
PAYNE_WORKER_PORTworkernever4310NoServer-onlybase-10 integer consumed by the Node listenerworker/index.ts
PAYNE_DATAHUB_GMS_URLlocal-live web and workerPAYNE_MODE=local-livenone; Compose injects http://datahub-gms:8080NoServer-onlyabsolute HTTP(S) URLsrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_DATAHUB_TOKENlocal-live web and workerPAYNE_MODE=local-livenoneYesServer-onlytrimmed non-empty tokensrc/server/runtime-config-core.ts, .env.local-live.example, compose.local-live.yaml
PAYNE_DATAHUB_WRITE_TOKENlocal-live workerallowlisted DataHub write-backnone; Compose supplies the provisioned bootstrap tokenYesServer-onlytrimmed non-empty token when setsrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_DATAHUB_MCP_COMMANDlocal-live adaptersnevermcp-server-datahubNoServer-onlytrimmed executable namesrc/server/runtime-config-core.ts
PAYNE_BOOTSTRAP_STATUS_PATHlocal-live web and workerPAYNE_MODE=local-livenone; Compose injects /var/run/payne/bootstrap-status.jsonNoServer-onlytrimmed non-empty pathsrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_BOOTSTRAP_DATAHUB_TOKENlocal-live provisioningafter the application token is provisionednoneYesServer-onlytoken written by the provisioning scriptscripts/local-live-provision-token.mjs, .env.local-live.example, compose.local-live.yaml
PAYNE_DATABASE_URLlocal-live web and workerPAYNE_MODE=local-livenone; Compose constructs itYesServer-onlypostgres: or postgresql: URLsrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_MIGRATION_DATABASE_URLdatabase migrationsrunning migrationsnoneYesServer-onlypostgres: or postgresql: URLsrc/server/runtime-config-core.ts, src/server/db/client.ts, compose.local-live.yaml
PAYNE_ARTIFACT_ROOTlocal-live web and workerartifact preparation or inspectionnone; Compose sets /var/lib/payne/artifactsNoServer-onlyabsolute path without NUL bytessrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_SANDBOX_ROOTlocal-live web and workerofficial sandbox applicationnone; Compose sets /var/lib/payne/sandboxNoServer-onlyabsolute path without NUL bytessrc/server/runtime-config-core.ts, compose.local-live.yaml
PAYNE_INFERENCE_PROVIDERlocal-live web and workerbounded inference is enablednoneNoServer-onlygemini or ollamasrc/server/runtime-config-core.ts, .env.local-live.example
PAYNE_INFERENCE_MODELlocal-live web and workerPAYNE_INFERENCE_PROVIDER is setnoneNoServer-only1–200 characters matching the supported model-identifier patternsrc/server/runtime-config-core.ts, .env.local-live.example
GEMINI_API_KEYGemini inferenceprovider is gemini and a model is configurednoneYesServer-onlytrimmed non-empty credentialsrc/server/runtime-config-core.ts, .env.local-live.example
PAYNE_OLLAMA_BASE_URLOllama inferenceneverhttp://127.0.0.1:11434; Compose uses the host bridgeNoServer-onlyabsolute HTTP(S) URLsrc/server/runtime-config-core.ts, .env.local-live.example, compose.local-live.yaml
PAYNE_AGENT_MAX_STEPSinferencenever6NoServer-onlyinteger from 1 through 10src/server/runtime-config-core.ts, src/domain/agent.ts
PAYNE_AGENT_MAX_WALL_TIME_MSinferencenever90000NoServer-onlyinteger from 1000 through 120000src/server/runtime-config-core.ts, src/domain/agent.ts
PAYNE_AGENT_MAX_INPUT_TOKENSinferencenever16000NoServer-onlyinteger from 1000 through 32000src/server/runtime-config-core.ts, src/domain/agent.ts, .env.local-live.example
PAYNE_AGENT_MAX_OUTPUT_TOKENSinferencenever4000NoServer-onlyinteger from 256 through 8000src/server/runtime-config-core.ts, src/domain/agent.ts
PAYNE_AGENT_MAX_TOOL_RESULT_BYTESinferencenever65536NoServer-onlyinteger from 1024 through 131072src/server/runtime-config-core.ts, src/domain/agent.ts
PAYNE_AGENT_MAX_TOOL_CALLSinferencenever20NoServer-onlyinteger from 1 through 40src/server/runtime-config-core.ts, src/domain/agent.ts
PAYNE_TEST_DATABASE_URLPostgreSQL integration testsrunning pnpm test:integrationnoneYesServer-onlyPostgreSQL connection URL used by testssrc/server/shutdown-gates/module5-postgres.integration.test.ts
DATAHUB_BOOTSTRAP_USERNAMElocal-live provisioningminting local DataHub tokensnone; example uses datahubNoServer-onlynon-empty native local account namescripts/local-live-provision-token.mjs, .env.local-live.example
DATAHUB_BOOTSTRAP_PASSWORDlocal-live provisioningminting local DataHub tokensnoneYesServer-onlynon-empty native local account passwordscripts/local-live-provision-token.mjs, .env.local-live.example
PAYNE_POSTGRES_PASSWORDlocal-live Composestarting local-livenoneYesServer-onlyrequired by Compose interpolation.env.local-live.example, compose.local-live.yaml
PAYNE_APP_DATABASE_PASSWORDlocal-live Composestarting local-livenoneYesServer-onlyrequired by Compose interpolation.env.local-live.example, compose.local-live.yaml
DATAHUB_MYSQL_PASSWORDlocal DataHub Composestarting local-livenoneYesServer-onlyrequired by Compose interpolation.env.local-live.example, compose.local-live.yaml
DATAHUB_MYSQL_ROOT_PASSWORDlocal DataHub Composestarting local-livenoneYesServer-onlyrequired by Compose interpolation.env.local-live.example, compose.local-live.yaml
DATAHUB_TOKEN_SERVICE_SIGNING_KEYlocal DataHub Composestarting local-livenoneYesServer-onlyrequired by Compose interpolation; replace the example value.env.local-live.example, compose.local-live.yaml
DATAHUB_TOKEN_SERVICE_SALTlocal DataHub Composestarting local-livenoneYesServer-onlyrequired by Compose interpolation; replace the example value.env.local-live.example, compose.local-live.yaml
DATAHUB_SECRETlocal DataHub frontendstarting local-livenoneYesServer-onlyrequired by Compose interpolation; replace the example value.env.local-live.example, compose.local-live.yaml

Definition ownership

PAYNE_* runtime parsing and validation are defined in src/server/runtime-config-core.ts and src/server/runtime-config.ts. Worker listener inputs are also consumed by worker/index.ts. Local DataHub, PostgreSQL, bootstrap, and token-service inputs are wired by compose.local-live.yaml; .env.local-live.example shows safe formatting only. PAYNE_TEST_DATABASE_URL is consumed by the PostgreSQL integration tests.

Last updated on