Il existe pas mal d’applications pour maintenir à jour ses conteneurs, mais celle-ci peut être très intéressante, je vous explique pourquoi.
Aujourd’hui, nous allons parler de Dockpeek ! Dockpeek est un tableau de bord léger qui va vous permettre de mettre à jour vos conteneurs, consulter les logs, et aussi, car il dispose d’un agent, agent qui va vous permettre de centraliser vos serveurs et de tout mettre à jour au même endroit. Pratique quand on commence à avoir plusieurs VM ou serveurs.
Cela dit, l’agent est optionnel : vous pouvez tout aussi bien installer Dockpeek sur votre ou vos serveurs, individuellement.
Nous verrons toutes les possibilités dans ce tutoriel :
- Dockpeek basique : pas de socket proxy. Installation simple. Soit pour un serveur ou à installer sur chaque serveur que vous avez. Attention, Dockpeek aura un accès direct au socket Docker.
- Dockpeek socket proxy : La même, avec une couche de sécurité supplémentaire sur le socket Docker. Pour une sécurité renforcée, utilisez un proxy de socket pour limiter l'accès à l'API Docker.
- Dockpeed multi host : Si vous avez besoin de centraliser vos serveurs avec une couche de sécurité supplémentaire également, le socket proxy, il faut l'installer sur le serveur principal, avec lequel vous voulez contrôler les mises à jour des autres serveurs.
⚡ Caractéristiques
- Accès web en un clic : Ouvrez instantanément les tableaux de bord et les applications web de vos conteneurs.
- Mappage automatique des ports : Détection et affichage de tous les ports publiés.
- Logs des conteneurs en direct : Diffusion des logs en temps réel.
- Intégration Traefik : Extraction automatique des URLs des services à partir des labels.
- Gestion multi-hôtes : Contrôlez plusieurs démons Docker depuis une seule interface.
- Vérification des mises à jour d'images : Détection et mise à jour des conteneurs obsolètes.

💾 Installation
Prérequis
Avant de commencer, assurez-vous d’avoir :
Dockpeek basique
- Créez votre compose.yml dans le dossier où vous comptez installer Dockpeek :
nano compose.yml- Et collez ça dedans :
services:
dockpeek:
image: dockpeek/dockpeek:latest
container_name: dockpeek
environment:
- SECRET_KEY=ma-key-de-malade
- USERNAME=zarev
- PASSWORD=MotDePasseFort
ports:
- "3420:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped- - SECRET_KEY=ma-key-de-malade => Générez une clé secrète et remplacez ma-key-de-malade par la clé que vous venez de générer.
- - USERNAME=zarev => Choisissez un nom d'utilisateur pour le compte admin.
- - PASSWORD=MotDePasseFort => Choisissez un mot de passe fort pour votre compte admin.
- On va déployer l'application :
docker compose up -d- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3420 par défaut :
http://ip:3420/ou votre domaine :
https://dockpeek.mondomaine.comDockpeek socket proxy
- Créez votre compose.yml dans le dossier où vous comptez installer Dockpeek :
nano compose.yml- Et collez ça dedans :
services:
dockpeek:
image: dockpeek/dockpeek:latest
container_name: dockpeek
environment:
- SECRET_KEY=ma-key-de-malade
- USERNAME=zarev
- PASSWORD=MotDePasseFort
- DOCKER_HOST=tcp://socket-proxy:2375
ports:
- "3420:8000"
depends_on:
- socket-proxy
restart: unless-stopped
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: dockpeek-socket-proxy
environment:
- CONTAINERS=1
- IMAGES=1
- PING=1
- VERSION=1
- INFO=1
- POST=1
# Ce qui suit est utile pour la mise à jour des containers
- ALLOW_START=1
- ALLOW_STOP=1
- ALLOW_RESTARTS=1
- NETWORKS=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
read_only: true
tmpfs:
- /run
restart: unless-stopped- - SECRET_KEY=ma-key-de-malade => Générez une clé secrète et remplacez ma-key-de-malade par la clé que vous venez de générer.
- - USERNAME=zarev => Choisissez un nom d'utilisateur pour le compte admin.
- - PASSWORD=MotDePasseFort => Choisissez un mot de passe fort pour votre compte admin.
- On va déployer l'application :
docker compose up -d- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3420 par défaut :
http://ip:3420/ou votre domaine :
https://dockpeek.mondomaine.comDockpeek multi host
- Créez votre compose.yml dans le dossier où vous comptez installer Dockpeek :
nano compose.yml- Et collez ça dedans :
services:
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: socket-proxy
environment:
- CONTAINERS=1
- IMAGES=1
- PING=1
- VERSION=1
- INFO=1
- POST=1
# Ce qui suit est utile pour la mise à jour des containers
- ALLOW_START=1
- ALLOW_STOP=1
- ALLOW_RESTARTS=1
- NETWORKS=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- "2375:2375"
restart: unless-stopped
dockpeek:
image: dockpeek/dockpeek:latest
container_name: dockpeek
environment:
# Authentification Dockpeek
- SECRET_KEY=ma-key-de-malade
- USERNAME=zarev
- PASSWORD=MotDePasseFort
# Serveur local via socket proxy
- DOCKER_HOST_1_URL=tcp://socket-proxy:2375
- DOCKER_HOST_1_NAME=DNS
# Remote serveur 2
- DOCKER_HOST_2_URL=tcp://192.168.1.62:2375
- DOCKER_HOST_2_NAME=StreamBox
# Remote serveur 3
# - DOCKER_HOST_3_URL=tcp://192.168.1.99:2375
# - DOCKER_HOST_3_NAME=Applications
ports:
- "3420:8000"
depends_on:
- socket-proxy
restart: unless-stopped
- - SECRET_KEY=ma-key-de-malade => Générez une clé secrète et remplacez ma-key-de-malade par la clé que vous venez de générer.
- - USERNAME=zarev => Choisissez un nom d'utilisateur pour le compte admin.
- - PASSWORD=MotDePasseFort => Choisissez un mot de passe fort pour votre compte admin.
- Remote serveur 1 => C'est ici que vous allez ajouter les serveurs à contrôler.
DOCKER_HOST_2_URL=tcp://192.168.1.62:2375 => Changez 192.168.1.62 par l'ip de votre serveur. Ne changez pas le port sauf si vous l'avez changé dans le compose.
DOCKER_HOST_2_NAME=StreamBox => Indiquez le nom de votre serveur, ici StreamBox, c'est ce même nom qui sera affiché dans les onglets de Dockpeek.
Répétez l'opération si nécessaire, n'oubliez pas pour chaque serveur ajouté, de changer le nombre dans DOCKER_HOST_3_URL et DOCKER_HOST_3_NAME.
- On va déployer l'application :
docker compose up -d- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3420 par défaut :
http://ip:3420/ou votre domaine :
https://dockpeek.mondomaine.com🕵️ Installer l'agent en cas de multi host
- Créez votre compose.yml dans le dossier où vous comptez installer l'agent :
nano compose.yml- Collez ça dedans :
services:
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:latest
container_name: docker-socket-proxy
ports:
- "2375:2375"
environment:
- CONTAINERS=1
- IMAGES=1
- INFO=1
- VERSION=1
- PING=1
- POST=1
- NETWORKS=1
- ALLOW_START=1
- ALLOW_STOP=1
- ALLOW_RESTARTS=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
read_only: true
tmpfs:
- /run
restart: unless-stopped- On va déployer l'agent :
docker compose up -dC'est tout. L'agent, sur votre réseau local, pourra communiquer avec Dockpeek.
Répétez l'opération sur tous les serveurs à contrôler.
⤴️ Comment mettre à jour
Vous pouvez choisir sur quel serveur vérifier les mises à jour :

- 1 => Soit tous les serveurs d'un coup.
- 2 => Si je voulais choisir que le serveur DNS.
- 3 => Si je voulais choisir que le serveur StreamBox.
Lorsque votre choix est fait, cliquez sur Check for updates :

Si vous avez choisi All, vous aurez ce petit avertissement disant que cela peut prendre un peu de temps :

Cliquez sur Check Updates pour poursuivre.
Il commence à faire un petit check des MAJ :

Si vous n'avez pas de mise à jour, vous aurez ce message :

En revanche, si vous avez une ou des mises à jour, la liste sera affichée :

Dans le cas où vous avez plusieurs mises à jour sur plusieurs serveurs ou tout simplement pour trier, cliquez sur cette option, elles seront centralisées :

Cliquez sur l'icône pour mettre à jour :

Confirmez :

Tadaaaaam :

📜 Consulter les logs
Cliquez sur le logo (1) pour le container dont vous voulez voir les logs :

Et voici les logs :

- 1 => Pour rafraîchir les logs.
- 2 => Pour voir les logs en direct.
- 3 => Pour rechercher dans les logs.
❌ Prune
Il est possible de supprimer les images non utilisées avec l'option Prune Images que vous pouvez trouver en bas de la page de Dockpeek, cliquez sur Prune Images :

Confirmez en cliquant sur Prune Now :

C'est fini :
