Skip to main content
Glama

fleet

Docker-Produktionsmanagement-CLI + MCP-Server

CI npm Node TypeScript License

Verwalten Sie Docker-Compose-Apps auf einem einzelnen Server – systemd-Orchestrierung, Nginx-Routing, age-verschlüsselte Geheimnisse, Gesundheitsüberwachung, Abhängigkeitsverfolgung, Git-Workflows und ein MCP-Server für KI-gestützte Vorgänge.

Dokumentation -- npm -- GitHub


Architektur

graph TD
    CLI["fleet CLI"]
    TUI["TUI Dashboard"]
    MCP["MCP Server"]
    BOT["fleet-bot (Go)"]

    CLI --> Core
    TUI --> Core
    MCP --> Core
    BOT -->|"via MCP"| Core

    subgraph Core["Core Modules"]
        Registry["Registry"]
        Docker["Docker Compose"]
        Systemd["systemd"]
        Nginx["nginx"]
        Secrets["Secrets Vault"]
        Health["Health Checks"]
        Git["Git / GitHub"]
        Deps["Dependency Monitor"]
    end

    Docker --> Containers["Containers"]
    Systemd --> Services["systemd Services"]
    Nginx --> Proxy["Reverse Proxy"]
    Secrets --> Vault["vault/*.age"]
    Secrets --> Runtime["/run/fleet-secrets"]
    Health --> Alerts["Telegram / iMessage"]

Jede Docker-Compose-App wird mit ihrem Compose-Pfad, ihren Domains, ihrem Port und ihren Containernamen registriert. Fleet generiert systemd-Units, sodass Apps beim Systemstart in der richtigen Reihenfolge gestartet werden. Geheimnisse werden im Ruhezustand mit age verschlüsselt und beim Systemstart in ein tmpfs entschlüsselt.

Related MCP server: coolify-mcp

Installation

npm install -g @matthesketh/fleet

Erfordert Node.js 20+, Docker Compose v2, systemd, nginx und age. Details finden Sie im vollständigen Einrichtungsleitfaden.

Hauptfunktionen

Apps bereitstellen und verwalten -- fleet deploy <app-dir> registriert, baut und startet eine App mit einem Befehl. Steuern Sie Dienste mit start, stop, restart und logs.

Verschlüsselte Geheimnisse -- age-verschlüsselter Tresor mit automatischen Backups, Validierung vor dem Versiegeln, Drift-Erkennung und atomarem Rollback. Entschlüsselung in tmpfs beim Systemstart – Geheimnisse gelangen nie auf die Festplatte.

Nginx-Routing -- Generieren Sie Proxy-, SPA- oder Next.js-Serverblöcke mit fleet nginx add. Automatische Konfigurationstests und Neuladen.

Gesundheitsüberwachung -- Drei-Ebenen-Prüfungen (systemd + Container + HTTP) mit fleet health. Der watchdog-Befehl läuft per Cron und sendet bei Fehlern Warnmeldungen.

Abhängigkeitsscan -- Erkennt veraltete Pakete, CVEs (via OSV), Docker-Image-Updates und Laufzeit-EOL über alle registrierten Apps hinweg.

Git-Workflows -- Integrieren Sie Apps in GitHub, verwalten Sie Branches, PRs und Releases über die CLI.

Interaktives Dashboard -- Führen Sie einfach fleet aus, um ein Vollbild-TUI mit Echtzeitstatus zu starten.

Siehe die CLI-Referenz für die vollständige Befehlsliste.

Geheimnis-Workflow

graph LR
    Import["fleet secrets import"]
    Set["fleet secrets set"]

    Import --> Encrypt["age encrypt"]
    Set --> Encrypt

    Encrypt --> Vault["vault/*.age"]
    Vault -->|"boot / fleet secrets unseal"| Decrypt["age decrypt"]
    Decrypt --> Runtime["/run/fleet-secrets (tmpfs)"]
    Runtime -->|"env_file / secrets"| Containers["Docker Containers"]

    Runtime -->|"fleet secrets seal"| Encrypt
    Vault -.->|"drift detection"| Runtime

Geheimnisse werden importiert oder einzeln festgelegt, mit age verschlüsselt und im Tresor gespeichert. Beim Systemstart (oder manuell) werden sie in einen tmpfs-Mount entschlüsselt, auf den Docker-Container zugreifen. Das Versiegeln schreibt Laufzeitänderungen zurück in den Tresor. Die Drift-Erkennung vergleicht Tresor und Laufzeit, um nicht gespeicherte Änderungen zu finden.

Bereitstellungs-Workflow

graph TD
    Deploy["fleet deploy app-dir"]
    Deploy --> Register{"Already\nregistered?"}
    Register -->|No| Add["Register app"]
    Register -->|Yes| Build
    Add --> Build["docker compose build"]
    Build --> Start{"Service\nrunning?"}
    Start -->|No| StartSvc["systemctl start"]
    Start -->|Yes| Restart["systemctl restart"]
    StartSvc --> Healthy["App deployed"]
    Restart --> Healthy

MCP-Server

Fleet stellt 36 Tools über das Model Context Protocol für KI-gestütztes Servermanagement bereit. Führen Sie fleet mcp aus, um den stdio-Server zu starten, oder installieren Sie ihn in Claude Code:

sudo fleet install-mcp

Die Tools decken den gesamten Bereich ab: App-Lebenszyklus, Geheimnisse, Nginx, Git, Gesundheitsprüfungen und Abhängigkeitsüberwachung. Siehe die MCP-Dokumentation für die vollständige Tool-Liste.

fleet-bot

Ein Go-Begleitbot (bot/), der Fernverwaltung des Servers über Telegram oder iMessage ermöglicht. Er führt Claude-Code-Sitzungen mit Zugriff auf die MCP-Tools von Fleet für freihändige Vorgänge aus.

Siehe die Bot-Dokumentation für Einrichtungsanweisungen.

Entwicklung

git clone https://github.com/wrxck/fleet.git
cd fleet
npm install
npm test          # vitest
npm run build     # compile TypeScript to dist/
npm run dev       # run with tsx (no build needed)

Lizenz

MIT

Related MCP Connectors

Related MCP Servers