154 lines
5.7 KiB
Markdown
154 lines
5.7 KiB
Markdown
---
|
|
title: Docking Station
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, docker, management, mise-a-jour, typescript]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/LooLzzz/docking-station]
|
|
---
|
|
|
|
# 🐳 Docking Station
|
|
|
|
> **La station d'accueil pour vos conteneurs** : mettez à jour, surveillez et gérez vos conteneurs depuis une interface unique. Plus moderne que Portainer, plus simple que Komodo.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | (GitHub) |
|
|
| **GitHub** | [LooLzzz/docking-station](https://github.com/LooLzzz/docking-station) |
|
|
| **License** | MIT |
|
|
| **Langage** | TypeScript |
|
|
| **Étoiles GitHub** | 413 ⭐ |
|
|
| **Dernière MAJ** | 2026-04 |
|
|
| **Catégorie** | [[cat-docker\|Docker]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Docking Station** est une **application web légère** pour **gérer et mettre à jour** vos conteneurs Docker. Elle se positionne entre [[app-portainer]] (trop complet pour certains) et [[app-dockge]] (trop orienté Compose) en offrant une vue **container-centric** simple, rapide, et moderne.
|
|
|
|
- ✅ **Dashboard** : état de tous les conteneurs (running, stopped, unhealthy)
|
|
- ✅ **Update checker** : détecte les nouvelles versions d'images
|
|
- ✅ **Update en un clic** : pull + recreate
|
|
- ✅ **Logs** : visualisation live des logs (style Dozzle)
|
|
- ✅ **Stats** : CPU/RAM par conteneur (style cAdvisor)
|
|
- ✅ **Cron intégré** : planification des updates
|
|
- ✅ **Notifications** : Discord, Telegram, Slack, email
|
|
- ✅ **Multi-hôtes** : agent léger ou connexion SSH
|
|
- ✅ **Authentification** : users locaux ou OIDC
|
|
- ✅ **Thèmes** : light/dark
|
|
- ✅ **MIT** : auditable
|
|
|
|
**Public cible** : homelabbers qui veulent un **tableau de bord Docker** moderne sans la lourdeur de Portainer. Excellente alternative à Watchtower (avec UI) ou complément à [[app-diun]] (qui est notification-only).
|
|
|
|
**Différence avec Watchtower** : Watchtower met à jour **automatiquement** sans interface. Docking Station offre une **UI** pour décider *quand* et *quoi* mettre à jour. Plus de contrôle, même philosophie.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Docker Compose
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
docking-station:
|
|
image: loolzzz/docking-station:latest
|
|
container_name: docking-station
|
|
restart: unless-stopped
|
|
environment:
|
|
- AUTH_ENABLED=true
|
|
- ADMIN_USER=admin
|
|
- ADMIN_PASSWORD=*** - CRON_SCHEDULE=0 4 * * *
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- docking-station-data:/data
|
|
ports:
|
|
- "8088:8080"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.dock-station.rule=Host(`dock.example.com`)"
|
|
- "traefik.http.routers.dock-station.entrypoints=websecure"
|
|
- "traefik.http.routers.dock-station.tls.certresolver=letsencrypt"
|
|
|
|
volumes:
|
|
docking-station-data:
|
|
```
|
|
|
|
### Docker run
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name docking-station \
|
|
-p 8088:8080 \
|
|
-v /var/run/docker.sock:/var/run/docker.sock:ro \
|
|
-v docking-station-data:/data \
|
|
-e AUTH_ENABLED=true \
|
|
-e ADMIN_PASSWORD=*** loolzzz/docking-station:latest
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Accéder à l'UI** : `http://IP:8088`
|
|
2. **Se connecter** avec `admin` / mot de passe choisi
|
|
3. **Vérifier la détection** des conteneurs : Dashboard > Containers
|
|
4. **Configurer le cron d'update** : `0 4 * * *` (tous les jours à 4h)
|
|
5. **Brancher un webhook Discord/Telegram** : Settings > Notifications
|
|
6. **Tester une mise à jour** sur un conteneur non-critique
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
|
|
- [[app-portainer]] — Plus complet, plus lourd
|
|
- [[app-dockge]] — Compose-centric
|
|
- [[app-cup]] — Update simple, sans dashboard généraliste
|
|
- [[app-watchtower]] — Update auto, sans UI
|
|
- [[app-diun]] — Notifications seules
|
|
- [[app-arcane]] — Concurrent moderne, plus jeune
|
|
|
|
### Comparaison Docking Station vs alternatives
|
|
|
|
| Critère | Docking Station | Portainer | Dockge | Watchtower |
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|
| UI moderne | ✅ | ✅ | ✅ | ❌ |
|
|
| Update auto | Optionnel | ❌ | ❌ | ✅ |
|
|
| Update manuelle | ✅ | ✅ | ✅ | ❌ |
|
|
| Logs live | ✅ | ✅ | ✅ | ❌ |
|
|
| Stats | ✅ | ✅ | ❌ | ❌ |
|
|
| Multi-hôte | ✅ | ❌ (BE) | ❌ | ❌ |
|
|
| Compose editor | ❌ | ✅ | ✅ | ❌ |
|
|
| License | MIT | Propriétaire | MIT | Apache-2.0 |
|
|
|
|
**Verdict** : Docking Station est **idéal pour l'update intelligent** : vous gardez le contrôle (UI) sans renoncer à l'automatisme (cron). C'est le juste milieu entre Watchtower (trop auto) et Portainer (trop généraliste).
|
|
|
|
### Propriétaires (ce que Docking Station remplace)
|
|
|
|
- **Scripts artisanaux de MAJ** — `docker pull && docker compose up -d` à la main
|
|
- **Watchtower SaaS-like** — N'existe pas
|
|
- **Portainer Business Edition** — 8 €/mois, pas de features uniques
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ⚠️ **Le socket Docker = root sur l'hôte** : un compte Docking Station compromis = machine compromise. **HTTPS obligatoire** + **auth forte** + idéalement isolation réseau
|
|
- **ADMIN_PASSWORD** : valeur par défaut = porte ouverte. Choisissez un mot de passe de 20+ caractères ou utilisez OIDC
|
|
- **Rate-limiting** : protégez le formulaire de login avec fail2ban
|
|
- **Mises à jour** : restez à jour, le projet est jeune
|
|
|
|
## 📚 Ressources
|
|
|
|
- [GitHub LooLzzz/docking-station](https://github.com/LooLzzz/docking-station)
|
|
- [Wiki et démo](https://github.com/LooLzzz/docking-station/wiki)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-docker]] — Catégorie Docker
|
|
- [[app-portainer]] — Runtime Docker
|
|
- [[app-dockge]] — Compose manager
|
|
- [[app-yacht]] — Templates
|
|
- [[app-traefik]] — Reverse proxy
|
|
- [[recettes-docker-compose]] — Stacks
|
|
- [[securisation-home-lab]] — Sécurité
|