Environment Variables
This page highlights the most important configuration values for running Velane.
Core service variables
DATABASE_URL: Postgres DSN for control-plane stateREDIS_URL: Redis address for async queueingPORT: control-plane listen portWORKER_COUNT: async worker concurrency
Executor runtime variables
BUN_EXECUTOR_URL: Bun executor endpointPYTHON_EXECUTOR_URL: Python executor endpointEXECUTOR_TYPE: executor mode (processorfirecracker)
Security-critical variables
ENCRYPTION_KEY: key used for secret encryptionJWT_PRIVATE_KEY: signing key for session JWTs
In production, these must be stable and persistent across restarts.
Bootstrap variables (first-run convenience)
BOOTSTRAP_EMAILBOOTSTRAP_PASSWORDBOOTSTRAP_TENANT
Use these to create the first admin account. Remove or lock down after bootstrap.
Integrations variables
NANGO_INTERNAL_URLNANGO_SECRET_KEYNANGO_PUBLIC_KEYNANGO_WEBHOOK_SECRET
Keep Nango secrets server-side only.
Workflow runtime limits
Per-version limits (timeout_ms, max_memory_mb, max_cpu_percent) are set when creating a workflow version via API or the workflow Settings tab.
Per-tenant caps are stored in tenants.runtime_limits (JSON). Tenants read caps via GET /v1/tenant/runtime-limits. Adjust caps with SQL or internal ops tooling — there is no tenant self-service PUT in v1.
Default tenant caps: 15 minute timeout, 2048 MB memory, 100% CPU.
Practical recommendation
Start with .env for local development, then move to your secret manager in production.