Docker

Dockge : gérer ses stacks Docker depuis une interface web

· 21/10/2025 · Mis à jour le 02/06/2026 · 5 min de lecture
Interface Dockge Docker : gestion des stacks compose depuis le navigateur
En bref — Dockge remplace Portainer pour gérer ses stacks Docker : interface web propre, fichiers compose en YAML sur le disque (versionnables Git), mode multi-serveur via agents, et aucune base de données cachée. Sur mon cluster de 3 nœuds Proxmox, j’ai migré 30+ stacks depuis Portainer sans rien perdre. Pour un homelab solo ou multi-serveur perso, Dockge gagne ; pour une équipe avec RBAC et registries privés, Portainer Business reste pertinent.

Gérer des dizaines de stacks Docker en SSH, c’est faisable. Mais quand on commence à avoir 30+ stacks sur 3 serveurs différents, une interface web devient indispensable. Dockge, créé par Louis Lam (le développeur d’Uptime Kuma), est ce que j’utilise au quotidien : simple, fichiers sur disque, zéro base de données propriétaire. Voici mon retour après plusieurs mois d’utilisation quotidienne.

Interface principale de Dockge, détail d'une stack avec le fichier compose.yaml visible et le label Watchtower
Dockge affiche le compose.yaml en direct, ici avec le label Watchtower configuré.

Le problème avec Portainer

J’ai utilisé Portainer pendant plus d’un an. Il fait le job, mais plusieurs choses m’ont progressivement agacé :

  • Les stacks sont « propriétaires » : quand tu crées une stack dans Portainer, il la gère en interne. Si tu modifies le docker-compose.yml en SSH, Portainer ne suit pas toujours. Ça crée des conflits frustrants.
  • L’interface est lourde : beaucoup de fonctionnalités (Swarm, Kubernetes, registries) dont je n’ai pas besoin en homelab.
  • La base de données : Portainer stocke sa config dans une base interne. Si elle se corrompt, tu perds ta configuration.
  • Les mises à jour : parfois cassantes sur les versions CE, surtout en upgrade majeur.

Portainer est un bon outil enterprise, mais pour un homelab perso avec 20-30 containers, c’est overkill.

Dockge : le retour à la simplicité

Dockge prend le parti inverse de Portainer. Le concept est radical de simplicité :

  • Pas de base de données : tout repose sur des fichiers docker-compose.yml classiques, stockés sur le disque.
  • Édition bidirectionnelle : tu modifies un compose dans Dockge, le fichier est mis à jour. Tu l’édites en SSH, Dockge détecte le changement. Zéro conflit, et tu peux tout versionner en Git.
  • UI minimaliste : une stack = une carte. Start, stop, restart, logs, éditeur. C’est tout ce qu’il faut.
  • Léger : un seul container, ~30 Mo de RAM.

Installation

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

Tous mes fichiers compose sont dans /opt/stacks, un sous-dossier par stack. Dockge les détecte automatiquement au démarrage. Le dossier est versionné en Git, chaque modification fait l’objet d’un commit.

⚠️ Note v1.5 : depuis la version 1.5.0 (mars 2025), la fonctionnalité Console est désactivée par défaut pour des raisons de sécurité. Si tu en as besoin, ajoute la variable d’environnement DOCKGE_ENABLE_CONSOLE=true dans ton compose.

Dockge, écran de création d'une nouvelle stack avec l'éditeur compose intégré
Créer une stack dans Dockge : on colle le docker-compose.yml, on clique Déployer.

Mode multi-serveur

C’est la fonctionnalité qui m’a définitivement convaincu : Dockge supporte le mode agent. Sur chaque nœud secondaire je déploie un agent Dockge, et depuis l’interface principale je gère les stacks des 3 nœuds depuis un seul endroit.

# Sur les nœuds secondaires — agent uniquement
services:
  dockge-agent:
    image: louislam/dockge:agent
    container_name: dockge-agent
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/stacks:/opt/stacks
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks

Depuis l’interface principale, j’ajoute chaque nœud via son IP et son port. Je vois les containers de chaque serveur, je peux start/stop/redémarrer depuis un seul onglet. Pour un cluster Proxmox multi-nœuds, c’est indispensable.

Mon utilisation au quotidien

Actuellement je gère plus de 30 stacks avec Dockge réparties sur mes 3 nœuds Proxmox :

  • Glance : dashboard homelab
  • Uptime Kuma : monitoring disponibilité
  • Stack media : Sonarr, Radarr, Prowlarr, Transmission, Overseerr
  • Stack domotique : Zigbee2MQTT, Mosquitto MQTT broker
  • Stack monitoring : Beszel Hub, Grafana, InfluxDB
  • Et une vingtaine d’autres : TeslaMate, FreshRSS, Wallos…

Bonne pratique que j’applique systématiquement : le label Watchtower sur les stacks que je veux mettre à jour automatiquement.

labels:
  - "com.centurylinklabs.watchtower.enable=true"
Dockge, vue logs en temps réel des containers
Les logs en temps réel directement depuis Dockge, sans passer par le terminal.

Les limites de Dockge

Dockge n’est pas parfait, et ses limites sont assumées :

  • Pas de gestion d’images : impossible de browser un registry ou de nettoyer les images inutilisées depuis l’UI.
  • Pas de gestion réseau avancée : les réseaux Docker se gèrent en ligne de commande.
  • Multi-nœuds via agents : pas de fédération native façon Swarm dans une vue unique, mais le mode agent couvre l’essentiel.

Pour un homelab classique avec un ou plusieurs serveurs Proxmox et une trentaine de containers, c’est largement suffisant.

Dockge vs Portainer : le comparatif

Dockge Portainer CE
Complexité Minimale Élevée
Fichiers compose Sur le disque, éditables librement Internes, conflits possibles
Base de données Aucune SQLite interne
Multi-nœuds Via agents Natif (Swarm)
RAM ~30 Mo ~200 Mo
Pour qui Homelab, usage perso Enterprise, Swarm/K8s

Si tu veux garder le contrôle sur tes fichiers compose en homelab, Dockge est le bon choix. Si tu gères une infra multi-serveurs en production avec Swarm, Portainer reste pertinent.

💡 Le petit truc en plus

Crée un repo Git privé pour ton dossier /opt/stacks et configure un cron qui fait git add -A && git commit -m "auto" && git push toutes les nuits. Si tu casses une stack en éditant le compose, tu retrouves l’état précédent en 30 secondes avec git checkout.

FAQ

Dockge ou Portainer, lequel choisir pour un homelab ?

Dockge pour un homelab perso : fichiers compose sur disque, interface légère, mode multi-serveur. Portainer si tu gères une équipe avec RBAC et registries privés. Pour un usage solo, Dockge est plus adapté.

Peut-on migrer de Portainer vers Dockge facilement ?

Oui. Exporte tes docker-compose depuis Portainer, place-les dans /opt/stacks/ (un dossier par stack), et Dockge les détecte automatiquement au démarrage. J’ai migré 25 stacks en 20 minutes.

Dockge supporte-t-il le mode multi-serveur ?

Oui, via un agent déployé sur chaque nœud secondaire. Depuis l’interface principale, tu gères les stacks de tous tes serveurs dans une vue unifiée.

Les fichiers compose modifiés en SSH sont-ils visibles dans Dockge ?

Oui, c’est la force de Dockge : l’édition est bidirectionnelle. Tu modifies en SSH, Dockge voit le changement ; tu modifies dans Dockge, le fichier sur disque est mis à jour.

Pour aller plus loin

Vous avez aimé cet article ?

Rejoignez la newsletter : nouveaux articles & contenu exclusif directement par mail, sans pubs.

Je m'abonne