Abstract violet and amber illustration representing self-hosted Docker compose stack management

Dockge

Dockge

Dockge est une interface web gratuite et auto-hébergée pour piloter des stacks docker-compose.yaml : éditer, déployer et surveiller ses fichiers Compose depuis le navigateur plutôt que depuis un terminal SSH. L’outil vient du même développeur qu’Uptime Kuma, et il fait le pari inverse de Portainer : moins large, mais une interface plus rapide, concentrée sur un seul travail.

Licence : MIT License, vérifiée directement dans le fichier LICENSE du dépôt GitHub louislam/dockge, et non déduite d’un badge.

En bref : site officiel dockge.kuma.pet · GitHub louislam/dockge, plus de 23 200 étoiles · dernière version 1.5.0 · image Docker louislam/dockge (officielle, Docker Hub) ; le compose file du projet épingle lui-même le tag :1.

Ce que fait vraiment Dockge

Tout l’outil gravite autour du fichier compose.yaml. On crée, modifie, démarre, arrête, redémarre et supprime des stacks depuis le navigateur, avec un éditeur YAML interactif et un terminal web intégré pour déboguer une ligne en direct quand il le faut. Un convertisseur « docker run vers compose.yaml » transforme une commande run improvisée en véritable fichier de stack. Depuis la version 1.4.0, une seule instance Dockge peut piloter des stacks sur plusieurs hôtes Docker distants grâce à des agents légers, dans le même esprit que la gestion multi-environnements de Portainer. Rien n’est stocké dans un format propriétaire : les stacks restent de simples fichiers compose.yaml sur le disque, la CLI docker compose classique continue donc de fonctionner en parallèle de l’interface.

La place de Dockge : plus léger que Portainer, volontairement plus étroit

Dockge ne cherche pas à devenir un tableau de bord Docker complet, et ne prétend pas l’être. Sa FAQ est directe là-dessus : pas de gestion de conteneur isolé, pas d’explorateur de réseaux Docker, pas de navigateur de volumes, tout ce que Portainer propose en natif. Ce qui reste, c’est un seul travail bien fait : une interface rapide pour ceux qui ne jurent que par Compose, qui pensent déjà en compose.yaml et veulent un navigateur plutôt qu’une session SSH pour l’éditer et le redéployer. C’est un choix assumé, pas un chantier repoussé à plus tard, et ça se voit au nombre de clics avant qu’une stack tourne.

Cas d’usage en homelab

Si un homelab fait déjà tourner une poignée de stacks docker-compose (une instance Uptime Kuma pour la supervision, une stack média, quelques outils internes), Dockge transforme le réflexe « SSH, cd dans le dossier, docker compose up -d » en deux clics depuis le navigateur d’un téléphone. Rien que pour ça, les cinq minutes d’installation sont rentabilisées. C’est aussi un moyen rapide d’intégrer un colocataire ou un proche moins à l’aise avec la ligne de commande : on lui donne un accès Dockge plutôt qu’un terminal, et il peut relancer une stack plantée sans apprendre la syntaxe Compose. Le support multi-agents permet aussi à une seule instance de superviser plusieurs machines (un NAS qui fait tourner les stacks média, un mini PC qui gère le reste), depuis un seul onglet. La catégorie Docker & Containers regroupe d’autres outils construits autour du même workflow.

Installer Dockge avec Docker

Avant de déployer : Dockge a besoin d’accéder au socket Docker (le même compromis « équivalent root » que Portainer), et le dossier des stacks doit être monté au chemin identique sur l’hôte et dans le conteneur. Une erreur de chemin et, selon le README du projet lui-même, des fichiers peuvent finir écrits à un endroit non prévu.

mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
docker compose up -d

Pour un contrôle explicite des permissions et des chemins, voici à quoi ressemble le compose file du projet :

services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      - /opt/stacks:/opt/stacks
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks
      - PUID=1000
      - PGID=1000

Lancez docker compose up -d et Dockge devient accessible à l’adresse http://your-server-ip:5001. Les stacks existantes ne sont pas perdues pour autant : déplacez un compose.yaml vers /opt/stacks/<stack-name>/compose.yaml, cliquez sur « Scan Stacks Folder » dans le menu déroulant, et elle apparaît dans la liste.

Dockge face à Portainer (et un mot sur Watchtower)

CatégorieDockgePortainer
PérimètreStacks Compose uniquementConteneurs, images, volumes, réseaux, stacks, Swarm, Kubernetes
Gestion de conteneur isoléNon, par choix de conceptionOui
Support multi-hôtesOui, via des agents depuis la 1.4.0Oui, via Portainer Agent
LicenceMITzlib
InterfaceMinimale, centrée sur ComposeTableau de bord plus complet, plus d’écrans

Le README de Dockge raconte lui-même son origine : une frustration face aux déploiements de stacks Portainer qui restaient parfois bloqués en plein milieu, avec des messages d’erreur peu clairs. Ça se lit donc moins comme un clone de Portainer que comme un outil plus étroit, pensé pour ceux qui se sont heurtés à ce mur précis. Watchtower règle un problème voisin mais différent : il tire automatiquement les nouvelles images et redémarre les conteneurs concernés dès qu’un nouveau tag sort, et s’associe très bien avec l’un ou l’autre tableau de bord plutôt que de leur faire concurrence.

Dockge : avantages et inconvénients

  • Gratuit et open source sous licence MIT, aucun compte ni clé de licence requis
  • Un éditeur compose.yaml dédié avec terminal interactif, coloration syntaxique et un convertisseur docker run vers compose.yaml
  • Léger : un seul conteneur, installation rapide, chargement rapide dans le navigateur
  • Les stacks restent de simples fichiers sur le disque, utilisables depuis la CLI docker compose classique en parallèle de l’interface
  • Nécessite un accès au socket Docker, le même compromis « équivalent root » que Portainer
  • Aucune gestion de conteneur isolé, de volume ou de réseau, de l’aveu même du projet
  • Les chemins du dossier des stacks doivent correspondre exactement entre l’hôte et le conteneur, une erreur facile au premier lancement

FAQ

Dockge est-il gratuit ?

Oui, entièrement, sous licence MIT, sans palier payant ni clé de licence.

Dockge remplace-t-il Portainer ?

La FAQ du projet répond elle-même « oui et non » : si compose.yaml est tout ce qu’on gère, oui. Dès qu’il s’agit de conteneurs isolés, de réseaux ou de volumes, toujours non.

Dockge peut-il gérer des stacks déjà existantes ?

Oui. Déplacez le fichier compose vers /opt/stacks/<stack-name>/compose.yaml, puis utilisez « Scan Stacks Folder » dans le menu déroulant pour la faire apparaître.

Pour un homelab qui vit déjà dans docker-compose, Dockge permet en cinq minutes d’arrêter de se connecter en SSH à chaque redémarrage. Portainer reste le meilleur choix pour qui gère des conteneurs isolés, des réseaux ou un cluster Kubernetes en plus des stacks Compose. La catégorie Docker & Containers regroupe le reste des outils du domaine.