Files
wiki/Catalogue-Self-Hosted/apps/app-dockge.md
T
2026-06-09 18:40:21 +02:00

162 lines
6.9 KiB
Markdown

---
title: Dockge
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, docker, container, ui, compose, self-hosted, beginner]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/louislam/dockge]
---
# 🐳 Dockge
> **Le gestionnaire de stacks docker-compose *self-contained* et élégant** — par l'auteur d'Uptime Kuma. Compose avant tout, sans la complexité de Portainer.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [dockge.kuma.pet](https://dockge.kuma.pet/) |
| **GitHub** | [louislam/dockge](https://github.com/louislam/dockge) |
| **License** | MIT |
| **Langage** | TypeScript (Node.js + React) |
| **Étoiles GitHub** | 23,4k ⭐ |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-docker\|Docker]] |
## 📝 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.yml` pur** — 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)
```yaml
# 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)
```bash
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 Initiale
1. **Accéder à l'UI** : `http://IP:5001`
2. **Créer le compte admin** (premier démarrage uniquement)
3. **Créer votre première stack** : *Compose > New Stack* > nommez-la > collez un `compose.yaml`
4. **Cliquer *Deploy*** : la sortie de `docker compose up -d` s'affiche en streaming
5. **Ajouter un `docker run` existant** : *Convert* > coller la commande > Dockge génère le Compose
6. **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 :
```yaml
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).
## 📚 Ressources
- [GitHub louislam/dockge](https://github.com/louislam/dockge)
- [Site officiel](https://dockge.kuma.pet/)
- [Documentation](https://github.com/louislam/dockge#readme)
- [Démo live](https://demo.dockge.kuma.pet/)
## Pages Liées
- [[cat-docker]] — Catégorie Docker
- [[app-portainer]] — Alternative plus complète
- [[app-yacht]] — Alternative templating
- [[app-traefik]] — Reverse proxy
- [[app-docker-socket-proxy]] — Sécuriser le socket
- [[recettes-docker-compose]] — Templates Compose
- [[securisation-home-lab]] — Durcir l'infra