> ## Documentation Index
> Fetch the complete documentation index at: https://trigger.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Supervisor

> Environment variables for the supervisor container.

| Name | Required | Default | Description |
| :- | :- | :- | :- |
| **Required settings** | | | |
| `TRIGGER_API_URL` | Yes | — | Trigger.dev API URL. Should point at the webapp. |
| `TRIGGER_WORKER_TOKEN` | Yes | — | Worker token (can be a file path with file://). |
| `MANAGED_WORKER_SECRET` | Yes | — | Managed worker secret. Needs to match webapp value. |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Yes | — | OTel exporter endpoint. Point at: `<webapp-url>/otel` |
| **Worker instance** | | | |
| `TRIGGER_WORKER_INSTANCE_NAME` | No | random UUID | Worker instance name. Set to `spec.nodeName` on k8s. |
| `TRIGGER_WORKER_CELL_NAME` | No | — | Name of the worker cluster this supervisor serves. Stamped on each run it starts. |
| `TRIGGER_WORKER_HEARTBEAT_INTERVAL_SECONDS` | No | 30 | Worker heartbeat interval (seconds). |
| **Workload API settings** | | | |
| `TRIGGER_WORKLOAD_API_ENABLED` | No | true | Enable workload API. Runs use this to perform actions. |
| `TRIGGER_WORKLOAD_API_PROTOCOL` | No | http | Workload API protocol (http/https). |
| `TRIGGER_WORKLOAD_API_DOMAIN` | No | — | Workload API domain. Keep empty for auto-detection. |
| `TRIGGER_WORKLOAD_API_HOST_INTERNAL` | No | 0.0.0.0 | Workload API internal host. |
| `TRIGGER_WORKLOAD_API_PORT_INTERNAL` | No | 8020 | Workload API internal port. |
| `TRIGGER_WORKLOAD_API_PORT_EXTERNAL` | No | 8020 | Workload API external port. |
| **Runner settings** | | | |
| `RUNNER_HEARTBEAT_INTERVAL_SECONDS` | No | — | Runner heartbeat interval (seconds). |
| `RUNNER_SNAPSHOT_POLL_INTERVAL_SECONDS` | No | — | Runner snapshot poll interval (seconds). |
| `RUNNER_ADDITIONAL_ENV_VARS` | No | — | Additional runner env vars (CSV). |
| `RUNNER_PRETTY_LOGS` | No | false | Pretty logs for runner. |
| **Dequeue settings** | | | |
| `TRIGGER_DEQUEUE_ENABLED` | No | true | Enable dequeue to pull runs from the queue. |
| `TRIGGER_DEQUEUE_INTERVAL_MS` | No | 250 | Dequeue interval (ms). |
| `TRIGGER_DEQUEUE_IDLE_INTERVAL_MS` | No | 1000 (1s) | Dequeue idle interval (ms). |
| `TRIGGER_DEQUEUE_MAX_CONSUMER_COUNT` | No | 1 | Max dequeue consumer count. |
| `RELEASE_UNSTARTED_RUNS_ENABLED` | No | false | Set to true to requeue a run straight away when its container or pod can't be created, rather than after the pending execution timeout. Limited by `RUN_RELEASES_PER_MINUTE`. |
| `RELEASE_FAILED_POD_RUNS_ENABLED` | No | false | Set to true to requeue a run straight away when its pod fails before the run starts, rather than after the pending execution timeout. Independent of `RELEASE_UNSTARTED_RUNS_ENABLED`; the two share `RUN_RELEASES_PER_MINUTE`. Needs `FAILED_POD_HANDLER_ENABLED`. |
| `RUN_RELEASES_PER_MINUTE` | No | 5 | Different runs released within a minute, by either release flag, past which every release waits for the timeout again until a slot frees, a run already released included. 0 withholds every release; blank means the default. |
| **Docker settings** | | | |
| `DOCKER_API_VERSION` | No | v1.41 | Docker API version. You should probably not touch this. |
| `DOCKER_STRIP_IMAGE_DIGEST` | No | true | Strip image digest in Docker. Turning off can cause issues. |
| `DOCKER_ENFORCE_MACHINE_PRESETS` | No | true | Enforce Docker machine cpu and memory limits. |
| `DOCKER_AUTOREMOVE_EXITED_CONTAINERS` | No | true | Auto-remove exited containers. |
| `DOCKER_RUNNER_NETWORKS` | No | host | Docker runner networks (CSV). |
| **Registry auth** | | | |
| `DOCKER_REGISTRY_URL` | No | — | Docker registry URL, e.g. `docker.io`. |
| `DOCKER_REGISTRY_USERNAME` | No | — | Docker registry username. |
| `DOCKER_REGISTRY_PASSWORD` | No | — | Docker registry password. |
| **Kubernetes settings** | | | |
| `KUBERNETES_FORCE_ENABLED` | No | false | Force Kubernetes mode. |
| `KUBERNETES_NAMESPACE` | No | default | The namespace that runs should be in. |
| `KUBERNETES_WORKER_NODETYPE_LABEL` | No | v4-worker | Nodes for runs need `nodetype=<this>`. Empty: any node. |
| `KUBERNETES_RUNNER_TOLERATIONS` | No | — | Run pod tolerations. CSV: `key=value:effect`/`key:effect`. |
| `KUBERNETES_ORG_PLACEMENT_OVERRIDES` | No | — | Per-org run pod placement. JSON keyed by internal org ID. |
| `KUBERNETES_IMAGE_PULL_SECRETS` | No | — | Image pull secrets (CSV). |
| `KUBERNETES_EPHEMERAL_STORAGE_SIZE_LIMIT` | No | 10Gi | Ephemeral storage size limit. Applies to all runs. |
| `KUBERNETES_EPHEMERAL_STORAGE_SIZE_REQUEST` | No | 2Gi | Ephemeral storage size request. Applies to all runs. |
| `KUBERNETES_POD_RESERVED_SOURCE_PORTS` | No | — | Ports runs never use as the source port of an outbound connection, so they can't clash with services on those ports. CSV of ports or ranges, e.g. `50080,50081` or `50080-50090`. Sets the pod's `net.ipv4.ip_local_reserved_ports` sysctl. |
| **Metrics** | | | |
| `METRICS_ENABLED` | No | true | Enable metrics. |
| `METRICS_COLLECT_DEFAULTS` | No | true | Collect default metrics. |
| `METRICS_HOST` | No | 127.0.0.1 | Metrics host. |
| `METRICS_PORT` | No | 9090 | Metrics port. |
| **Pod cleaner** | | | |
| `POD_CLEANER_ENABLED` | No | true | Enable pod cleaner. |
| `POD_CLEANER_INTERVAL_MS` | No | 10000 (10s) | Pod cleaner interval (ms). Best not to touch this. |
| `POD_CLEANER_BATCH_SIZE` | No | 500 | Pod cleaner batch size. |
| **Failed pod handler** | | | |
| `FAILED_POD_HANDLER_ENABLED` | No | true | Enable failed pod handler. |
| `FAILED_POD_HANDLER_RECONNECT_INTERVAL_MS` | No | 1000 (1s) | Failed pod handler reconnect interval (ms). |
| `FAILED_POD_HANDLER_WATCH_TIMEOUT_SECONDS` | No | 300 (5m) | How long the server keeps each failed pod watch open (s). |
| `RUNNER_KILL_REPORTS_ENABLED` | No | true | Fail a run straight away when its pod is killed, as out of memory only if Kubernetes reports `OOMKilled`. |
| **Debug** | | | |
| `DEBUG` | No | false | Enable debug logs. |
| `SEND_RUN_DEBUG_LOGS` | No | false | Send run debug logs to the platform. |
| **Not used for self-hosting** | | | |
| `TRIGGER_WARM_START_URL` | No | — | Warm start URL. |
| `TRIGGER_CHECKPOINT_URL` | No | — | Checkpoint URL. |
| `TRIGGER_METADATA_URL` | No | — | Metadata URL. |
| `RESOURCE_MONITOR_ENABLED` | No | false | Enable resource monitor. |
| `RESOURCE_MONITOR_OVERRIDE_CPU_TOTAL` | No | — | Override CPU total for resource monitor. |
| `RESOURCE_MONITOR_OVERRIDE_MEMORY_TOTAL_GB` | No | — | Override memory total (GB) for resource monitor. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.