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 (
komododen 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
- Accéder à l'UI :
https://komodo.example.com:9120(ou via Traefik) - Créer le compte admin et générer une API key
- Ajouter un serveur : Servers > New > IP, port, clé API du
komododdistant - Créer un premier déploiement : Stacks > New > chemin vers le
compose.yaml - Lier la stack à un ou plusieurs serveurs (sélection multiple possible)
- 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 ;
komododdistant 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
- cat-docker — Catégorie Docker
- app-portainer — Référence, plus mature
- app-dockge — Alternative mono-serveur
- app-traefik — Reverse proxy
- recettes-docker-compose — Templates Compose
- securisation-home-lab — Durcir l'infra