Installer Dockpeek avec Docker
Dockpeek

Installer Dockpeek avec Docker

Table des matières

GitHub - dockpeek/dockpeek: Simple dashboard showing Docker ports with clickable links for multiple hosts
Simple dashboard showing Docker ports with clickable links for multiple hosts - dockpeek/dockpeek

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.
💡
L'idéal est d'utiliser la version socket proxy, que ce soit en multi host ou pas.

⚡ 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 :

  • Distribution Linux (Ubuntu, Debian, etc ...).
  • Docker installé.
  • Accès terminal.
  • Connexion internet.

Dockpeek basique

  1. Créez votre compose.yml dans le dossier où vous comptez installer Dockpeek :
nano compose.yml
  1. 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.
  1. On va déployer l'application :
docker compose up -d
  1. 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

Dockpeek socket proxy

  1. Créez votre compose.yml dans le dossier où vous comptez installer Dockpeek :
nano compose.yml
  1. 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.
  1. On va déployer l'application :
docker compose up -d
  1. 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

Dockpeek multi host

  1. Créez votre compose.yml dans le dossier où vous comptez installer Dockpeek :
nano compose.yml
  1. 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.
  1. On va déployer l'application :
docker compose up -d
  1. 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

  1. Créez votre compose.yml dans le dossier où vous comptez installer l'agent :
nano compose.yml
  1. 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
  1. On va déployer l'agent :
docker compose up -d

C'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 :


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer