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
# 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
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
- Accéder à l'UI :
http://IP:8088 - Se connecter avec
admin/ mot de passe choisi - Vérifier la détection des conteneurs : Dashboard > Containers
- Configurer le cron d'update :
0 4 * * *(tous les jours à 4h) - Brancher un webhook Discord/Telegram : Settings > Notifications
- 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
