n8n/docker/images/runners
n8n-cat-bot[bot] df27223a4e
fix: Pass shutdown margin to JavaScript runner in runners image (#40178)
Co-authored-by: n8n-cat-bot[bot] <n8n-cat-bot[bot]@users.noreply.github.com>
2026-10-02 14:55:52 +00:00
..
Dockerfile build: Bump pnpm to 12.4.2 so Ctrl+C stops the dev processes (no-changelog) (#38919) 2026-09-17 09:24:18 +00:00
Dockerfile.distroless build: Bump pnpm to 12.4.2 so Ctrl+C stops the dev processes (no-changelog) (#38919) 2026-09-17 09:24:18 +00:00
n8n-task-runners.json fix: Pass shutdown margin to JavaScript runner in runners image (#40178) 2026-10-02 14:55:52 +00:00
README.md chore: Remove N8N_RUNNERS_ENABLED env variable (no-changelog) (#23885) 2026-01-12 13:38:33 +00:00

n8n - Task runners (n8nio/runners) - (PREVIEW)

n8nio/runners image includes JavaScript runner, Python runner and Task runner launcher that connects to a Task Broker running on the main n8n instance when running in external mode. This image is to be launched as a sidecar container to the main n8n container.

Task runners are used to execute user-provided code in the Code Node, isolated from the n8n instance.

For official documentation, please see here.

For a distroless variant of this image, see here.

For development purposes only, see below.

Testing locally

1) Make a production build of n8n

pnpm run build:n8n

2) Build the task runners image

docker buildx build \
  -f docker/images/runners/Dockerfile \
  -t n8nio/runners \
  .

3) Start n8n on your host machine with Task Broker enabled

N8N_RUNNERS_MODE=external \
N8N_RUNNERS_AUTH_TOKEN=test \
N8N_LOG_LEVEL=debug \
pnpm start

4) Start the task runner container

docker run --rm -it \
-e N8N_RUNNERS_AUTH_TOKEN=test \
-e N8N_RUNNERS_LAUNCHER_LOG_LEVEL=debug \
-e N8N_RUNNERS_TASK_BROKER_URI=http://host.docker.internal:5679 \
-p 5680:5680 \
n8nio/runners

If you need to add extra dependencies (custom image), follow these instructions.