Install
One process next to your Docker or Podman socket. It serves the UI on port 9000 and keeps everything in one data directory.
Start the server
Container image recommended
About 8 MB compressed, for linux/amd64 and linux/arm64, running as a non-root user.
docker run -d --name fleetops -p 9000:9000 \
-v fleetops-data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
--group-add "$(stat -c %g /var/run/docker.sock)" \
fleets/fleetops
--group-add grants the group that owns the socket. On Docker Desktop and Colima the socket lives in a VM, so read its group from a container instead:
docker run --rm -v /var/run/docker.sock:/s busybox stat -c %g /s
Static binary
Download a linux binary with its SHA-256 checksum from the releases page, then:
./fleetops --data ./data --bind 127.0.0.1:9000
For Podman, rootless Docker or Colima, point it at the socket:
DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock ./fleetops --data ./data
From source
Needs Rust 1.86 or newer, Node.js 24 or newer and pnpm.
git clone https://github.com/pravinbanjade/fleetops.git
cd fleetops
make build
./target/release/fleetops --data ./data --bind 127.0.0.1:9000
Create the admin account
Open http://localhost:9000 and create the first account. For safety, setup locks if no admin is created within 10 minutes of starting; restart the server to try again.
Add more environments
- Remote Docker host
- Admin → Environments → Add → Agent on a remote host. Run the
docker runcommand it shows on that host; the agent dials out over HTTPS and shows online within seconds. - Kubernetes, by kubeconfig
- Paste a kubeconfig and pick a context. EKS, GKE and AKS exec plugins work when the server runs with
--kube-exec-plugins=default. - Kubernetes, in-cluster agent
- Run the
kubectl applycommand it gives you. The cluster needs no inbound access and the server never holds its credentials. Choose read-only, standard or cluster-admin access.
Enterprise, if you have a license
Use fleets/fleetops-ee in place of fleets/fleetops on the same data volume, then upload the license in Admin → License or pass --license-file. Without a license it runs as Community. About Enterprise