Skip to content

crabbox

Recipe card from the charly-tools plugin (Images — the deployable catalog).

Property Value
Binary /usr/local/bin/crabbox
Version pinned 0.51.0 (GoReleaser release archive, CRABBOX_VERSION var)
Install download: the release tarball, extract_include: [crabbox]
Requires layer-gh (git), layer-ssh-client (ssh/ssh-keygen), rsync + curl packages
Alias crabbox (wrapper runs in-box via charly alias)

A single static Go binary, crabbox, downloaded from the pinned openclaw/crabbox GitHub release (crabbox_${CRABBOX_VERSION}_linux_${ARCH}.tar.gz — the asset name is v-less while the download tag is v-prefixed). Prerequisites for the CLI’s lease/sync machinery (git, ssh, ssh-keygen, rsync, curl) come from composed candies/packages — never re-shipped.

The candy’s plan: ships deterministic check: steps: the binary lands at /usr/local/bin/crabbox, crabbox --version reports the pinned release, crabbox providers lists the credential-free local provider matrix (local-container / ssh / external), and crabbox doctor passes in a broker-less build context.

Local provider surface (no cloud credentials)

Section titled “Local provider surface (no cloud credentials)”
Provider Notes
local-container (aliases docker/container/local-docker) SSH leases as local container (Podman/Docker); sync/run/logs/artifacts + --desktop/--browser capabilities

Opt out of the explicit lease hostname for runtimes that share the host UTS namespace via localContainer.noHostname: true in ~/.config/crabbox/config.yaml (or CRABBOX_LOCAL_CONTAINER_NO_HOSTNAME=1) — the v0.51.0 surface (upstream #1813/#1924); a fixed lease ID conflicts when the setting changes between acquisitions. | ssh (static/static-ssh) | existing machines | | external (exec-provider) | an executable implementing the crabbox provider protocol | | cloud (aws/azure/gcp/hetzner/daytona/…) | direct modes with operator credentials; documented-only |

Terminal window
charly deploy add crabbox crabbox --target local # installs /usr/local/bin/crabbox
charly alias install <box> # alias wrapper
crabbox doctor

Invoke when composing the crabbox CLI into a box, deciding the local provider surface, or verifying a crabbox installation.