Description
Dockge est un gestionnaire de stacks docker-compose créé par Louis (le créateur d'[[app-uptime-kuma]]). Sa philosophie est simple : un fichier docker-compose.yml self-contained par stack, géré via une UI web réactive. Pas de base de données propriétaire, pas de format interne — quand vous retirez Dockge, vos stacks continuent de tourner avec un banal docker compose up -d.
L'interface est réactive en temps réel : vous éditez le Compose, vous cliquez sur Deploy, et la sortie stdout/stderr du déploiement apparaît en direct, façon terminal. Dockge sait aussi convertir un docker run en stack Compose via son bouton dédié.
- ✅ Format
docker-compose.ymlpur — pas de verrouillage propriétaire - ✅ Stacks self-contained : chaque stack a son propre dossier
compose.yaml - ✅ Éditeur Monaco avec coloration syntaxique YAML
- ✅ Logs en streaming temps réel (WebSocket)
- ✅ Convertisseur
docker run→docker-compose.yml - ✅ Gestion des images, volumes, réseaux, conteneurs
- ✅ Notifications (Discord, Telegram, Slack, email…) sur événements de stack
- ✅ Mode agent : piloter un hôte Docker distant
- ✅ UI mobile-responsive (no app native)
- ✅ Pas de base de données : tout est dans le dossier
dockge/
Public cible : homelabers qui vivent dans le docker-compose.yml. Si vous êtes allergique aux UI lourdes et voulez un outil qui respecte le standard Docker, Dockge est fait pour vous.
Alternatives directes : [[app-portainer]] (plus complet, plus lourd), [[app-yacht]] (UI 1-click, peu maintenue), [[app-arcane]] (plus moderne, plus jeune).
Installation
Option 1 : Docker Compose (ultra-simple, dogfooding)
# docker-compose.yml
version: '3.8'
services:
dockge:
image: louislam/dockge:latest
container_name: dockge
restart: unless-stopped
security_opt:
- no-new-privileges:true
ports:
- "5001:5001"
volumes:
- /var/run/docker.sock:/var/run/docker.sock # ⚠️ voir section Sécurité
- /opt/stacks:/opt/stacks # vos stacks
- /opt/dockge:/app/data # config Dockge
labels:
- "traefik.enable=true"
- "traefik.http.routers.dockge.rule=Host(`dockge.example.com`)"
- "traefik.http.routers.dockge.entrypoints=websecure"
- "traefik.http.routers.dockge.tls.certresolver=letsencrypt"
volumes:
# si volume nommé pour la data, décommentez ci-dessous
# dockge_data:
📁 Convention : Dockge stocke vos stacks dans
/opt/stacks/<nom-de-stack>/compose.yaml. Le dossier est versionnable (git) et lisible hors Dockge.
Option 2 : one-liner (la voie rapide)
mkdir -p /opt/stacks /opt/dockge docker run -d --name dockge --restart=unless-stopped \ -p 5001:5001 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /opt/stacks:/opt/stacks \ -v /opt/dockge:/app/data \ louislam/dockge:latest
Configuration
- Accéder à l'UI :
http://IP:5001 - Créer le compte admin (premier démarrage uniquement)
- Créer votre première stack : Compose > New Stack > nommez-la > collez un
compose.yaml - Cliquer Deploy : la sortie de
docker compose up -ds'affiche en streaming - Ajouter un
docker runexistant : Convert > coller la commande > Dockge génère le Compose - Activer les notifications : Settings > Notifications (optionnel mais recommandé pour les crashs)
Alternatives
Open Source
- [[app-portainer]] — Plus complet (K8s, multi-host, RBAC) mais plus lourd
- [[app-yacht]] — Templating 1-click, peu maintenu
- [[app-arcane]] — UI moderne Svelte, docker + compose
- CasaOS — Plus qu'un gestionnaire Docker (apps store complet)
- Cosmos — Cloud personnel self-hosted
Propriétaires
- Docker Desktop — UI locale, pas self-hosted
- Portainer Business — Version payante de Portainer
- Synology Container Manager — UI native Synology (propriétaire)
Tableau comparatif
| Critère | Dockge | Portainer CE | Yacht | Arcane | Komodo |
|---|---|---|---|---|---|
| Format | compose.yaml | DB interne + Compose | Templating | Compose | Compose |
| Multi-host | ✅ (agent) | ✅ (agent) | ❌ | ❌ | ✅ (natif) |
| K8s | ❌ | ✅ | ❌ | ❌ | ❌ |
| Logs streaming | ✅ | ✅ | Basique | ✅ | ✅ |
| Sans DB | ✅ | ❌ | ❌ | ❌ | ❌ |
| Mobile-friendly | ✅ | ⚠️ | ❌ | ✅ | ✅ |
| Licence | MIT | Zlib (CE) | MIT | Apache-2.0 | GPL-3.0 |
| Interface | Élégante | Classique | Simple | Très moderne | Moderne |
Verdict : Dockge est l'outil idéal pour un homelab qui veut rester proche du standard docker-compose.yml sans la complexité d'un Portainer. Parfait pour les stacks simples à moyennes.
Sécurité
- ⚠️ Le socket Docker est monté en RW : Dockge peut démarrer/arrêter n'importe quel conteneur, créer des images, etc. = privilèges root sur l'hôte.
- Placer Dockge derrière [[app-traefik]] + Authelia/Authentik — ne jamais l'exposer en clair.
- Alternative sécurisée : utiliser [[app-docker-socket-proxy]] (Tecnativa) en filtre. Exemple :
volumes: - /var/run/docker.sock:/var/run/docker.sock # à remplacer par : - dockge_proxy:/var/run/docker.sock:ro
puis faire pointer Dockge sur le proxy au lieu du socket direct. - Restreindre les utilisateurs : Dockge n'a pas (encore) de RBAC multi-utilisateurs — limiter l'accès au réseau interne + VPN (Tailscale/WireGuard).
