n8n-sandbox-runner
ghcr.io/n8n-io/n8n-sandbox-service-runner-dind:stable
https://github.com/n8n-io/n8n-sandbox-service/pkgs/container/n8n-sandbox-service-runner-dind
n8n-sandbox
sh
true
https://github.com/benjaminmue/unraid/issues
https://github.com/n8n-io/n8n-sandbox-service
Runner for the self-hosted n8n code sandbox. Only useful together with an existing n8n container and the n8n-sandbox-api container: install n8n-sandbox-api first and follow the setup steps in its description.
The runner does the actual work. It runs its own Docker engine (Docker-in-Docker) and starts one throwaway container per sandbox, in which the n8n Assistant and n8n Agents run AI-generated code. It registers with n8n-sandbox-api over mutual TLS, using the certificates n8n-sandbox-api created on its first start. It restarts on its own until n8n-sandbox-api is reachable, so the start order does not matter. The first start takes longer because the inner Docker engine is set up first; until the runner has registered, n8n reports "no sandbox runners are registered or available".
Privileged: Docker-in-Docker requires it. Treat this container as root on the host. It publishes no ports; keep it that way and never expose it to the internet. Code inside a sandbox can reach the internet; the runner blocks its traffic to private address ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16), so your LAN is not reachable from a sandbox.
The inner Docker data (sandbox image, sandbox containers) lives in the Docker data path. It must be a pool or disk path such as /mnt/cache/..., not /mnt/user/..., because the inner Docker cannot use the user share file system.
Image tag :stable follows the latest stable release of the n8n sandbox service. Update this container together with n8n-sandbox-api.
Unofficial template, maintained by benjaminmue. The images are published by n8n (n8n-io/n8n-sandbox-service).
AI: Tools:Utilities:
https://raw.githubusercontent.com/benjaminmue/unraid/main/templates/n8n-sandbox-runner.xml
https://cdn.jsdelivr.net/gh/selfhst/icons/png/n8n.png
--network-alias=n8n-sandbox-runner-1 --restart=unless-stopped
Privileged Docker-in-Docker runner for the self-hosted n8n code sandbox. Requires an existing n8n container and the n8n-sandbox-api container.
/mnt/user/appdata/n8n-sandbox/tls/runner
/mnt/cache/appdata/n8n-sandbox/docker
ghcr.io/n8n-io/n8n-sandbox-service-sandbox:stable
runner-1
n8n-sandbox-api:9090
n8n-sandbox-api
https://n8n-sandbox-runner-1:8080
:9091
n8n-sandbox-runner-1:9091
/tls/runner/ca.crt
/tls/runner/grpc-client.crt
/tls/runner/grpc-client.key
/tls/runner/control-grpc-server.crt
/tls/runner/control-grpc-server.key
/tls/runner/ca.crt