Initial vault setup
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user