Skip to content

Container Sandbox

Everruns provides self-hosted container sandboxes via Docker Engine for secure, isolated code execution. Agents can create, manage, and interact with multiple containers per session — each an isolated Linux environment with real filesystem, process execution, and network access.

  • Self-Hosted: Runs on your own infrastructure — no SaaS dependency
  • Isolated Containers: Each sandbox is an isolated Linux container with cgroup resource limits
  • Multi-Sandbox Sessions: Create and manage multiple containers within a single session
  • File Operations: Read, write, upload, and download files between session storage and containers
  • Shell Execution: Run arbitrary commands with stdout/stderr/exit_code capture

Ensure Docker Engine is accessible from the server/worker. The capability communicates via Docker Engine REST API (not the CLI).

  • Local: Docker Desktop or dockerd on the host (default socket: /var/run/docker.sock)
  • Remote: TCP or TCP+TLS endpoint (e.g., http://10.0.0.3:2375)

Set CONTAINER_SANDBOX_DOCKER_HOST to override the default Docker host.

2. Enable the Feature and Assign the Capability

Section titled “2. Enable the Feature and Assign the Capability”

Set FEATURE_CONTAINER_SANDBOX=true anywhere capabilities are registered or executed to enable the capability and built-in Coding (Container) harness. In most deployments, that means both the server and any workers.

For legacy deployments, FEATURE_DOCKER_CAPABILITY=true still enables the same feature until operators switch to the new flag name, and it must be enabled in the same places.

Once the flag is enabled in the relevant processes, add the container_sandbox capability to a custom harness or use the built-in Coding (Container) harness.

Agents with the Container Sandbox capability can use these tools:

ToolDescription
sandbox_createCreate and start a new container with resource limits
sandbox_execExecute shell commands in a container
sandbox_read_fileRead files from container filesystem
sandbox_write_fileWrite files to container filesystem
sandbox_uploadCopy files from session storage into container
sandbox_downloadCopy files from container to session storage
sandbox_listList active containers in the session
sandbox_manageStop, start, or remove containers
  1. Create: sandbox_create pulls the image, creates an isolated network, and starts the container
  2. Use: sandbox_exec, sandbox_read_file, sandbox_write_file for coding work
  3. Transfer: sandbox_upload/sandbox_download to move files between session storage and container
  4. Remove: sandbox_manage with action “remove” deletes the container and network

Containers auto-stop after 10 minutes of inactivity (configurable). Leased resource cleanup handles abandoned containers after 20 minutes.

ParameterDefaultDescription
docker_hostAuto-detectDocker Engine endpoint
runtimeruncContainer runtime (runc, sysbox-runc, kata, gvisor)
imageubuntu:24.04Default container image
memory_limit2 GiBMemory limit per container
cpu_limit1 coreCPU limit per container
pids_limit256Max processes per container
  • Each container runs in its own isolated Docker network
  • Resource limits (memory, CPU, PIDs) enforced via cgroups
  • Container names derived from session ID — no cross-session access
  • Docker socket never mounted into containers
  • Configurable runtime: use sysbox-runc for user-namespace isolation in production