---
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](https://komo.do/) |
| **GitHub** | [moghtech/komodo](https://github.com/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\|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)

```yaml
# 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

```bash
# 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

- [GitHub moghtech/komodo](https://github.com/moghtech/komodo)
- [Site officiel](https://komo.do/)
- [Documentation](https://komo.do/docs)
- [Démo live](https://demo.komo.do/)

## 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
