the universal sandbox runtime for agents and humans. pocketenv.io
sandbox openclaw agent claude-code vercel-sandbox deno-sandbox cloudflare-sandbox atproto sprites daytona
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add publish workflow and daytona sandbox images

Add GitHub Actions workflow to build and push daytona/* Docker images
to ghcr.io using a matrix of sandboxes and Buildx caching. Images are
tagged 0.6.0. Add Dockerfiles for multiple sandboxes (amp, claude,
codex, copilot, crush, gemini, mise, kilo, kiro, nix, nullclaw, pkgx,
openclaw, opencode, opencrust, picoclaw, zeroclaw)

+190
+70
.github/workflows/publish.yml
··· 1 + name: Publish 2 + on: 3 + push: 4 + branches: 5 + - main 6 + paths: 7 + - "daytona/**" 8 + - ".github/workflows/publish.yml" 9 + 10 + jobs: 11 + deploy: 12 + runs-on: ubuntu-latest 13 + strategy: 14 + matrix: 15 + sandbox: 16 + [ 17 + amp, 18 + claude, 19 + codex, 20 + copilot, 21 + crush, 22 + gemini, 23 + mise, 24 + kilo, 25 + kiro, 26 + nix, 27 + nullclaw, 28 + pkgx, 29 + openclaw, 30 + opencode, 31 + opencrust, 32 + picoclaw, 33 + zeroclaw, 34 + ] 35 + permissions: 36 + contents: read 37 + packages: write 38 + 39 + steps: 40 + - name: Checkout repository 41 + uses: actions/checkout@v4 42 + 43 + - name: Set up Docker Buildx 44 + uses: docker/setup-buildx-action@v3 45 + 46 + - name: Log in to GitHub Container Registry 47 + uses: docker/login-action@v3 48 + with: 49 + registry: ghcr.io 50 + username: ${{ github.actor }} 51 + password: ${{ secrets.GITHUB_TOKEN }} 52 + 53 + - name: Extract Docker metadata 54 + id: meta 55 + uses: docker/metadata-action@v5 56 + with: 57 + images: ghcr.io/pocketenv-io/daytona-${{ matrix.sandbox }} 58 + tags: | 59 + type=raw,value=0.6.0 60 + 61 + - name: Build and push Docker image 62 + uses: docker/build-push-action@v6 63 + with: 64 + context: daytona/${{ matrix.sandbox }} 65 + file: daytona/${{ matrix.sandbox }}/Dockerfile 66 + push: true 67 + tags: ${{ steps.meta.outputs.tags }} 68 + labels: ${{ steps.meta.outputs.labels }} 69 + cache-from: type=gha,scope=${{ matrix.sandbox }} 70 + cache-to: type=gha,mode=max,scope=${{ matrix.sandbox }}
+5
daytona/amp/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @sourcegraph/amp \ 5 + pm2
+5
daytona/claude/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @anthropic-ai/claude-code \ 5 + pm2
+5
daytona/codex/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @openai/codex \ 5 + pm2
+5
daytona/copilot/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @github/copilot \ 5 + pm2
+5
daytona/crush/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @charmland/crush \ 5 + pm2
+5
daytona/gemini/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @google/gemini-cli \ 5 + pm2
+5
daytona/kilo/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + @kilocode/cli \ 5 + pm2
+3
daytona/kiro/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN curl -fsSL https://cli.kiro.dev/install | bash
+3
daytona/mise/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN curl https://mise.run | sh
+8
daytona/nix/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux \ 4 + --extra-conf "sandbox = false" \ 5 + --init none \ 6 + --no-confirm 7 + 8 + ENV PATH="${PATH}:/nix/var/nix/profiles/default/bin"
+15
daytona/nullclaw/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN apt-get update && apt-get install -y wget 4 + 5 + RUN case "${TARGETARCH}" in \ 6 + amd64) NULLCLAW_ARCH="x86_64" ;; \ 7 + arm64) NULLCLAW_ARCH="aarch64" ;; \ 8 + *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; \ 9 + esac && \ 10 + wget -qO nullclaw "https://github.com/nullclaw/nullclaw/releases/latest/download/nullclaw-linux-${NULLCLAW_ARCH}.bin" && \ 11 + mkdir -p /home/daytona/.local/bin && \ 12 + mv nullclaw /home/daytona/.local/bin && \ 13 + chmod +x /home/daytona/.local/bin/nullclaw 14 + 15 + ENV PATH="${PATH}:/home/daytona/.local/bin"
+3
daytona/openclaw/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN curl -fsSL https://openclaw.ai/install.sh | bash || true
+5
daytona/opencode/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN npm install -g \ 4 + opencode-ai \ 5 + pm2
+15
daytona/opencrust/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN apt-get update && apt-get install -y wget 4 + 5 + RUN case "${TARGETARCH}" in \ 6 + amd64) OPENCRUST_ARCH="x86_64" ;; \ 7 + arm64) OPENCRUST_ARCH="aarch64" ;; \ 8 + *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; \ 9 + esac && \ 10 + wget -qO opencrust "https://github.com/opencrust-org/opencrust/releases/download/v0.1.19/opencrust-linux-${OPENCRUST_ARCH}" && \ 11 + mkdir -p /home/daytona/.local/bin && \ 12 + mv opencrust /home/daytona/.local/bin && \ 13 + chmod +x /home/daytona/.local/bin/opencrust 14 + 15 + ENV PATH="${PATH}:/home/daytona/.local/bin"
+15
daytona/picoclaw/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN apt-get update && apt-get install -y wget 4 + 5 + RUN case "${TARGETARCH}" in \ 6 + amd64) PICOCLAW_ARCH="x86_64" ;; \ 7 + arm64) PICOCLAW_ARCH="arm64" ;; \ 8 + *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; \ 9 + esac && \ 10 + wget -qO /tmp/picoclaw.tar.gz "https://github.com/sipeed/picoclaw/releases/download/v0.2.0/picoclaw_Linux_${PICOCLAW_ARCH}.tar.gz" && \ 11 + mkdir -p /home/daytona/.local/bin && \ 12 + tar -xzf /tmp/picoclaw.tar.gz -C /home/daytona/.local/bin && \ 13 + chmod +x /home/daytona/.local/bin/picoclaw 14 + 15 + ENV PATH="${PATH}:/home/daytona/.local/bin"
+3
daytona/pkgx/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN curl https://pkgx.sh | sh
+15
daytona/zeroclaw/Dockerfile
··· 1 + FROM daytonaio/sandbox:0.6.0 2 + 3 + RUN apt-get update && apt-get install -y wget 4 + 5 + RUN case "${TARGETARCH}" in \ 6 + amd64) ZEROCLAW_ARCH="x86_64" ;; \ 7 + arm64) ZEROCLAW_ARCH="aarch64" ;; \ 8 + *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; \ 9 + esac && \ 10 + wget -qO /tmp/zeroclaw.tar.gz "https://github.com/zeroclaw-labs/zeroclaw/releases/download/v0.1.7/zeroclaw-${ZEROCLAW_ARCH}-unknown-linux-gnu.tar.gz" && \ 11 + mkdir -p /home/daytona/.local/bin && \ 12 + tar -xzf /tmp/zeroclaw.tar.gz -C /home/daytona/.local/bin && \ 13 + chmod +x /home/daytona/.local/bin/zeroclaw 14 + 15 + ENV PATH="${PATH}:/home/daytona/.local/bin"