Files
wiki/Catalogue-Self-Hosted/apps/app-komodo.md
T
2026-06-09 18:40:21 +02:00

6.9 KiB


title: Komodo created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, docker, container, orchestration, multi-server, deploy, monitoring-docker] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Docker, https://github.com/moghtech/komodo]

🐳 Komodo

L'orchestrateur Docker multi-serveurs en Rust — déployez et supervisez vos stacks sur N hôtes depuis une interface unique.

📋 Informations Générales

Champ Valeur
Site web komo.do
GitHub moghtech/komodo
License GPL-3.0 (custom-ish : core AGPL, libs permissives)
Langage Rust (backend) + TypeScript (UI)
Étoiles GitHub 11,3k
Dernière MAJ 2026-06-06
Catégorie cat-docker

📝 Description

Komodo est une plateforme d'orchestration et de déploiement écrite en Rust, conçue pour gérer des stacks docker-compose sur plusieurs serveurs depuis une interface web unique. Là où app-portainer nécessite un agent par hôte, Komodo utilise un binaire komodod déployé sur chaque serveur cible, qui communique avec le serveur central via une API REST/WebSocket sécurisée.

Le résultat : un seul dashboard pour superviser 1, 3 ou 30 serveurs, déployer une stack sur l'un, l'autre, ou tous, et recevoir des alertes unifiées. Idéal pour les homelabs multi-machines (Raspberry Pi + NAS + serveur Proxmox…) ou les petites équipes d'ops.

  • Multi-serveurs (illimité) depuis une seule UI
  • Stacks docker-compose déployables par groupe de serveurs (batch deploy)
  • Procédures custom (scripts shell) exécutables à distance
  • Resources monitoring (CPU/RAM/Disk/Net par serveur)
  • Alertes : CPU élevé, disk full, conteneurs down, MAJ dispos
  • Gestion des secrets (variables chiffrées au repos)
  • RBAC (utilisateurs, groupes, permissions fines)
  • Audit log (qui a fait quoi, quand)
  • Builds Docker à distance (depuis un repo git)
  • Webhooks (déclenchement Git push, CI, etc.)
  • Single binary (komodod en Go-like Rust), faible empreinte

Public cible : homelabs avancés multi-machines et petites équipes DevOps qui veulent un Portainer-like mais en mieux, ou un alternative moderne à Ansible Tower.

Alternatives directes : app-portainer (référence, plus mature), app-dockge (mono-serveur, plus simple), app-arcane (mono-serveur, moderne), Ansible / Terraform (IaC, plus bas niveau).

🚀 Installation

Architecture

  • komodo-core : API centrale + UI (1 conteneur / 1 binaire)
  • komodo-periphery : agent léger à installer sur chaque serveur distant

Option 1 : Docker Compose (serveur central)

# docker-compose.yml — serveur central
version: '3.8'
services:
  komodo:
    image: ghcr.io/moghtech/komodo:1.18.0
    container_name: komodo
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    ports:
      - "9120:9120"   # web UI
      - "8120:8120"   # API REST
    volumes:
      - komodo_data:/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.komodo.rule=Host(`komodo.example.com`)"
      - "traefik.http.routers.komodo.entrypoints=websecure"
      - "traefik.http.routers.komodo.tls.certresolver=letsencrypt"
      - "traefik.http.services.komodo.loadbalancer.server.port=9120"

volumes:
  komodo_data:

Option 2 : Agent sur chaque serveur distant

# Sur CHAQUE serveur à manager
curl -fsSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery | bash
# Édite /etc/komodo/periphery.config.toml :
#   - ip = "0.0.0.0"
#   - port = 8120
#   - komodo_url = "https://komodo.example.com"  # le serveur central
#   - api_key = "..."  # généré côté Komodo
sudo systemctl restart komodo-periphery

Le serveur central peut aussi être lui-même un periphery (self-managed).

⚙️ Configuration Initiale

  1. Accéder à l'UI : https://komodo.example.com:9120 (ou via Traefik)
  2. Créer le compte admin et générer une API key
  3. Ajouter un serveur : Servers > New > IP, port, clé API du komodod distant
  4. Créer un premier déploiement : Stacks > New > chemin vers le compose.yaml
  5. Lier la stack à un ou plusieurs serveurs (sélection multiple possible)
  6. Configurer les alertes : Alerts > New (Discord, Telegram, email, webhook…)

🔄 Alternatives

Open Source

  • app-portainer — Référence, mature, K8s/Swarm support
  • app-dockge — Mono-serveur, plus simple
  • app-arcane — Mono-serveur, UI Svelte moderne
  • Ansible AWX — Plus générique, plus complexe
  • Coolify — PaaS self-hosted (app store + deploy)
  • Dokku — Mini-Heroku sur un serveur
  • CasaOS — Plus qu'un orchestrateur

Propriétaires

  • Portainer Business — SSO, RBAC, support commercial
  • Rancher (SUSE) — Enterprise K8s
  • Octopus Deploy — CD enterprise
  • Spacelift — IaC orchestration
  • Harness — CI/CD + deployment

Tableau comparatif

Critère Komodo Portainer CE Dockge Ansible AWX Coolify
Multi-serveur (natif) (agent)
K8s
RBAC Basique
App store (templates)
Build distant
Langage Rust Go TypeScript Python TypeScript
Licence GPL-3.0 Zlib (CE) MIT Apache-2.0 Apache-2.0

Verdict : Komodo brille en multi-serveurs avec une UX moderne. Pour un homelab mono-machine, app-dockge ou app-arcane sont plus simples. Pour du K8s, app-portainer reste le choix sûr.

🔐 Sécurité

  • ⚠️ Le serveur central Komodo contrôle N agents = surface d'attaque multipliée. Compromettre Komodo = compromis tous les serveurs enregistrés.
  • Auth obligatoire + 2FA activée sur le compte admin.
  • TLS partout : app-traefik avec Let's Encrypt pour l'UI ; komodod distant accessible uniquement via WireGuard/Tailscale/VPN.
  • Tokens API scoped : ne jamais réutiliser la même clé pour tous les serveurs.
  • Secrets Komodo chiffrés au repos avec une passphrase — la sauvegarder dans un coffre (Bitwarden, KeePass).
  • RBAC strict : si plusieurs utilisateurs, limiter les permissions par groupe.

📚 Ressources

Pages Liées