Docker + Compose v2
Install Docker with the Compose v2 plugin (docker compose). Docker Desktop bundles it. On Linux, install docker-compose-plugin alongside docker-ce.
Install
ShipIt always runs containerized — there's no bare-metal mode. Pick local Docker for a laptop install, or use the VPS script for a remote setup that keeps working when your laptop is closed.
Install Docker with the Compose v2 plugin (docker compose). Docker Desktop bundles it. On Linux, install docker-compose-plugin alongside docker-ce.
Pick at least one — subscriptions and API keys both work:
The fastest way to try ShipIt on your laptop.
bash <(curl -fsSL https://raw.githubusercontent.com/nikzlabs/shipit/stable/deployment/local/setup.sh)This installs ShipIt under ~/.shipit, builds the Docker images, and starts it detached at http://localhost:4123. Sign in to Claude Code or Codex once from the in-app provider flow — credentials live in a persistent Docker volume, so once per provider is enough. Fork installs, custom paths, updates, and stop/uninstall are covered in the deployment README.
ShipIt ships with a one-command provisioning script for Ubuntu hosts. It installs Docker, raises the inotify limits session containers need, and optionally puts ShipIt behind a Cloudflare Tunnel (with optional Zero Trust SSO) and/or exposes it over Tailscale — no open inbound ports required.
Recommended sizing: 8 GB RAM minimum, 16 GB recommended. Each active session runs its own container (agent CLI plus the session's Compose services — usually at least a dev server), so headroom matters once you have a few sessions open at once.
ssh root@<server-ip>
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/nikzlabs/shipit/stable/deployment/vps/setup.sh)"The script asks whether you want Cloudflare, Tailscale, both, or neither, then takes care of everything else: installing Docker, configuring host limits, building the images, installing the self-updater + restarter systemd units, and bringing ShipIt up.
Once it's running, updates happen from inside the UI — Settings → Advanced → Software Updates — or via bash /opt/shipit/deployment/vps/deploy.sh on the host.
See the deployment README for the full guide: sizing recommendations, Cloudflare Zero Trust access policies, wildcard preview DNS over Tailscale, and troubleshooting.
If you want to contribute or just understand the architecture, the CONTRIBUTING.md in the repo walks through the dev loop and module layout.