v2.4 What's new in Fleet

Every server you run, one binary away.

Cenvero Fleet is a free, open-source, self-hosted server fleet manager: shells, fan-out commands, secure file transfer, live sync, services, logs, metrics and alerts across Linux, macOS and Windows servers — over encrypted, host-key-pinned SSH. No cloud account, no hosted control plane. Built for humans and AI agents alike.

  • Free & open source (AGPL)
  • Works behind NAT
  • Signed releases
Install

Up and running in a minute.

The controller is a single signed binary with no runtime dependencies. Install it on the machine you manage your servers from — your laptop, a bastion host or a small VM.

  • Release archives are minisign-verified before anything is installed.
  • Upgrade any time with fleet update apply (or brew upgrade cenvero-fleet).
  • Build from source with Go: git clone https://github.com/cenvero/fleet && make build.
Homebrew recommended
brew tap cenvero/fleet && brew install cenvero-fleet
or the install script
curl -fsSL https://fleet.cenvero.org/install | sh
0cloud accounts or hosted services
2transport modes — direct & reverse
3ways to work — CLI, terminal UI, web UI
AGPLopen source, self-hosted, yours
Features

Everything you need to run a fleet.

One controller replaces a drawer of scripts, SSH configs and dashboards — and every action is scriptable, auditable and available as JSON.

Shells and fan-out commands

Open a persistent shell that survives network drops, or run a command on one server, a tag group or the whole fleet at once — with ordered output, timeouts, per-server exit codes and --json for scripts.

fleet exec --group role=web --json -- uptime

File transfer that doesn't flinch

Chunked, parallel, SHA-256-checksummed and resumable uploads and downloads, server-to-server copies, and fleet sync to keep a local folder mirrored to a server — live.

fleet sync web-01 ./site /srv/www

Direct or reverse

Reach servers directly, or let agents dial out from behind NAT and firewalls. Mix both in one fleet.

Agent auto-install

Add a server and Fleet installs, verifies and starts its agent over SSH — with a preview before anything changes.

Services, logs & journald

Start, stop and restart units, follow and search logs, query the journal, and keep a cached copy for offline reading.

Metrics, alerts & notifications

CPU, memory, disk and load history, threshold alerts, and Slack or webhook notifications when servers go offline or jobs fail.

Jobs, cron & drift

Run long tasks as detached jobs, manage crontabs, and detect config files that drift from a captured baseline.

Built for AI agents

A self-describing CLI that Claude Code or Codex learns in one command — then operates your fleet safely.

Agentic Fleet
Interfaces

Terminal, browser or script — your call.

The same engine drives a live terminal dashboard, a dual-pane terminal file manager, a localhost web UI and a CLI that prints JSON.

The fleet dashboard terminal UI showing four servers with status, transport mode, CPU, memory, disk, load, agent version and tags, and a detail panel for db-01.
fleet dashboard — a live operations console: servers, services, logs, alerts and the audit trail, with keyboard and mouse. New in v2.5.0
Transport

Reach every server — even the ones behind NAT.

In direct mode the controller connects to the agent over SSH when it needs to. In reverse mode the agent dials out and keeps an authenticated session open, so the server needs no inbound port at all. Mix both in the same fleet.

  • Ed25519 keys and trust-on-first-use host-key pinning in both directions.
  • Reverse agents enrol with a one-time token and the controller's fingerprint.
  • Pooled connections with keepalives; agents reconnect on their own after a drop.
Direct and reverse transport modes In direct mode the controller connects to the agent's SSH port. In reverse mode the agent connects out through a firewall to the controller, which reaches it over that session. DIRECT Controller fleet · your machine web-01 fleet-agent :2222 SSH, host key pinned REVERSE Controller fleet daemon :9443 NAT / firewall edge-01 no inbound ports agent dials out
Agentic AI

Let an AI agent run the fleet — with guard rails.

One command teaches Claude Code or Codex the entire CLI. The agent reads fleet context, then deploys, debugs and verifies across your servers with your keys, on your machine — and every command returns JSON it can reason about.

  • Scoped, fail-closed tokens limit which servers, commands and secrets an agent can touch.
  • Dry runs, approvals and idempotency keys keep unattended runs predictable.
  • fleet guard reverts a risky change automatically unless it is confirmed.
Security

Secure by default, auditable by design.

Fleet runs with root-level reach across your infrastructure, so it is built to be boringly safe.

Pinned, encrypted channels

Ed25519 keys, trust-on-first-use host-key pinning, and one-time enrolment tokens for reverse agents. Key rotation verifies the new key before retiring the old one.

Signed, anti-rollback updates

Every release is minisign-signed. The installer and updater verify it and refuse downgrades; agent rollouts can be canaried.

Scoped tokens & secrets

Fail-closed RBAC tokens per server, group and command; named secrets that reach commands through the environment and are redacted from output.

Approvals & command policy

Stage risky commands for a human to review, deny or require confirmation for patterns, and dry-run anything first.

Tamper-evident audit log

A hash-chained log of transfers and key changes and, since v2.5.0, every remote command, approval, and token or secret change. Never the secret values.

Locked-down surfaces

The web UI binds to loopback with a per-run token, CSRF checks and a strict CSP; agents can be confined to allow-listed directories.

Quick start

From install to your first fan-out in four steps.

  1. Initialise the controller

    Creates the config directory, Ed25519 keys and databases.

    fleet init
  2. Add a server

    Interactive by default; Fleet installs the agent over SSH.

    fleet server add web-01 192.0.2.10 --login-user root
  3. Tag and group

    Label servers once, then target them by expression.

    fleet tag web-01 role=web env=prod
  4. Operate

    Shell in, fan out, or open the dashboard.

    fleet exec --group role=web -- uptime
    fleet dashboard
FAQ

Questions, answered.

Is Cenvero Fleet free?

Yes. Cenvero Fleet is free and open source under the AGPL-3.0-or-later license. There is no paid tier, no account and no hosted service.

Do I need a cloud account or a hosted control plane?

No. The controller is a binary on your own machine. It talks to your servers over encrypted, host-key-pinned SSH channels and keeps its state in a local directory — SQLite by default, or PostgreSQL, MySQL or MariaDB if you prefer.

Can it manage servers behind NAT or a firewall?

Yes. In reverse mode the agent dials out to the controller and keeps an authenticated session open, so the server needs no inbound port. Direct and reverse servers can be mixed in one fleet.

Which operating systems are supported?

The controller runs on Linux, macOS and Windows. Agents are installed automatically on Linux servers with systemd; macOS and Windows agents can be set up manually. Service and firewall management are Linux features.

How is Cenvero Fleet different from Ansible?

Ansible applies playbooks. Fleet is an interactive, always-connected control plane: live shells, fan-out commands with JSON output, file transfer and live sync, logs, metrics, alerts, a terminal dashboard and a web UI — plus a CLI that AI agents can discover and drive. Many teams use both.

Can an AI agent operate my servers with Fleet?

Yes. Run fleet skill claude (or codex). The agent learns the whole CLI from fleet context and operates your fleet with your keys, on your machine — with scoped tokens, approvals, dry runs and a dead-man's switch as guard rails. Read more about Agentic Fleet.

How are releases and updates verified?

Every release is signed with minisign. The installer and the updater verify the signature, and refuse to roll back to an older version, before anything is replaced.

Take back control of your fleet.

Install the controller, add a server and run your first command across the fleet — all in a few minutes.