🐳 sandbox

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

Docker Ready 1 Services Ports: 8080 4,584 stars
1. Pull Image docker pull ghcr.io/agent-infra/sandbox
2. 1-Click Launch Command docker run -d -p 8080:8080 --name sandbox ghcr.io/agent-infra/sandbox:latest
3. 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}