Install the CLI
The fleetwide CLI builds embedded images and prints digests. It is one binary with no dependencies, published on GitHub for macOS and Linux, amd64 and arm64.
# macOS / Linux: one static binary, from the GitHub release
curl -fsSL https://fleetwide.io/install.sh | sh
# a specific version, or somewhere other than /usr/local/bin
curl -fsSL https://fleetwide.io/install.sh | VERSION=0.1.0 DIR=~/.local/bin sh
fleetwide versionFrom source, with Go 1.27 or newer:
go install github.com/fleetwidehq/fleetwide/supervisor/cmd/fleetwide@latestOr run it as a container, which suits CI and build hosts with no Go toolchain. Mount your Docker config so it can push.
# the CLI as a container, for CI and build hosts without Go. Mount your Docker config so it can push.
docker run --rm \
-v "$HOME/.docker:/root/.docker:ro" \
-e FLEETWIDE_API_KEY \
public.ecr.aws/fleetwide/cli:latest embed --app my-app \
--image ghcr.io/acme/my-app:1.4.2 --start latest \
--tag ghcr.io/acme/my-app-fw:1.4.2 --pushIt talks to the console with an API token from Settings → Security, passed as --api-key or the FLEETWIDE_API_KEY environment variable. No address is needed: the hosted console is the default, and the image it builds learns the console's supervisor address from the console itself. In GitHub Actions:
# .github/workflows/release.yml
- run: curl -fsSL https://fleetwide.io/install.sh | sudo sh
- run: |
fleetwide embed --app my-app \
--dockerfile ./Dockerfile --build-tag ghcr.io/acme/my-app:${{ github.ref_name }} \
--start latest \
--tag ghcr.io/acme/my-app-fw:${{ github.ref_name }} --push
env:
FLEETWIDE_API_KEY: ${{ secrets.FLEETWIDE_API_KEY }}