Run every customer's Docker Compose stack from one console.

fleetctl puts a small agent on each host. It dials out to the console, so you can deploy compose files, restart services, read logs and open a shell on any site without a VPN or an open port.

Suburban Labs 0 of 24 online
lis-srv-01bash
$ cat <<'EOF' | curl -fsSL -X POST --data-binary @- \
    https://app.fleetctl.dev/api/v1/install/script | sudo sh
{"env":"suburban-prod","host_id":"lis-srv-01","token":"…"}
EOF
fleet-agent installed. Connecting to app.fleetctl.dev

From a bare host to a running stack in three steps

  1. 1

    Add an environment

    Name the env for the customer site. fleetctl gives you a one-line install command that works once and expires in 15 minutes.

  2. 2

    Run it on the host

    The agent installs as a systemd service under its own user and connects out over HTTPS. Its lamp turns green in the console.

  3. 3

    Deploy your compose file

    Write or paste the compose file, save it as a version and deploy. You watch validate, snapshot and apply happen live, step by step.

Every site at a glance

One lamp per environment, readable across a room. Green is healthy, amber needs a look, red is offline. CPU, memory and disk sit next to each host.

Versioned compose files

Each save is a version with a note and an author. The console shows whether the file on the host matches the one you meant to run.

Logs and restarts without SSH

Pull the last few hundred lines from any service, or start, stop and restart it, from the env page.

A shell when you need one

Open an interactive terminal on the host through the agent. Every session lands in the fleet's activity feed.

The host never accepts a connection

The agent opens one outbound WebSocket to the console and keeps it. There is nothing to firewall on the customer's network and no inbound port to scan.

  • Install tokens are single use and expire after 15 minutes.
  • Each host is bound to the key it enrolled with. A different key is refused.
  • Operators sign in with Google or a password, and roles decide who can deploy or open a shell.
  • Commands reach the agent only after they are saved, so what you see in history is what ran.

Bring your first site online

Create a fleet, add an env and run one command on the host.

Create a fleet