sandbox Docker & Self-Hosted Deployment

GitHub

All-in-One Sandbox for AI Agents that combines Browser, Shell, File, MCP and VSCode Server in a single Docker container.

6,210 stars Python Python 45 files ยท ~159,778 tokens #agent#all-in-one#browser#filesystem#mcp#sandbox#shell
RAW Compose
1. Pull Image (GHCR) docker pull ghcr.io/agent-infra/sandbox
2. Docker Run (1-Click Launch) docker run -d --name sandbox -p 8080:8080 --restart always ghcr.io/agent-infra/sandbox:latest
3. Podman Run podman run -d --name sandbox -p 8080:8080 --restart always ghcr.io/agent-infra/sandbox:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://ghcr.io/agent-infra/sandbox:latest
5. ORAS Pull (OCI Artifact) oras pull ghcr.io/agent-infra/sandbox:latest
6. Compose Deployment docker compose up -d
docker-compose.yaml
Download .yml
services:
  sandbox:
    container_name: aio-sandbox
    image: ghcr.io/agent-infra/sandbox:latest
    security_opt:
      - seccomp:unconfined
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: "unless-stopped"
    shm_size: "2gb"
    mem_limit: "8g"
    cpus: "4"
    ports:
      - "127.0.0.1:${HOST_PORT:-8080}:8080"
    environment:
      PROXY_SERVER: ${PROXY_SERVER:-}
      JWT_PUBLIC_KEY: ${JWT_PUBLIC_KEY:-}
      DNS_OVER_HTTPS_TEMPLATES: ${DNS_OVER_HTTPS_TEMPLATES:-"https://cloudflare-dns.com/dns-query{?dns}"}
      WORKSPACE: ${WORKSPACE:-"/home/gem"}
      HOMEPAGE: ${HOMEPAGE:-}
      BROWSER_EXTRA_ARGS: ${BROWSER_EXTRA_ARGS:-}
      TZ: ${TZ:-Asia/Singapore}
      DISPLAY_WIDTH: ${DISPLAY_WIDTH:-1280}
      DISPLAY_HEIGHT: ${DISPLAY_HEIGHT:-1024}
      WAIT_PORTS: "8079,8091"
      VNC_SERVER_PORT: 5900
      PUBLIC_PORT: 8080
      AUTH_BACKEND_PORT: 8081
      WEBSOCKET_PROXY_PORT: 6080
      GEM_SERVER_PORT: 8088
      MCP_HUB_PORT: 8079
      SANDBOX_SRV_PORT: 8091
      JUPYTER_LAB_PORT: 8888
      CODE_SERVER_PORT: 8200
      MCP_SERVER_BROWSER_PORT: 8100
      TINYPROXY_PORT: 8118
      MCP_SERVER_MARKITDOWN_PORT: 8101
      MCP_SERVER_CHROME_DEVTOOLS_PORT: 8102
      BROWSER_REMOTE_DEBUGGING_PORT: 9222
      PIP_INDEX_URL: ${PIP_INDEX_URL:-https://pypi.org/simple}
      UV_DEFAULT_INDEX: ${UV_DEFAULT_INDEX:-https://pypi.org/simple}
      NPM_CONFIG_REGISTRY: ${NPM_CONFIG_REGISTRY:-https://registry.npmjs.org}
      # for gh cli
      GITHUB_TOKEN: ""
      # Claude Skills
      AIO_SKILLS_PATH: ${AIO_SKILLS_PATH:-}
      # Features
      DISABLE_JUPYTER: ${DISABLE_JUPYTER:-false}
      DISABLE_CODE_SERVER: ${DISABLE_CODE_SERVER:-false}