Files
docudjeex/content/fr/3.serveex/2.core/2.docker.md
T
2026-09-05 22:10:30 +02:00

6.9 KiB

title, description
title description
Docker Installer Docker et Dockge sur Debian pour déployer et gérer des services auto-hébergés avec de simples stacks de conteneurs.

:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}

Chaque application de ce guide, Jellyfin, Vaultwarden, Immich, pour n'en citer que quelques-unes, arrive avec sa propre liste de dépendances, sa propre version de Python ou de Node, ses propres bizarreries. Installer tout ça directement sur Debian fonctionne un moment, jusqu'à ce que deux applications réclament une version différente de la même bibliothèque, ou qu'en désinstaller une laisse des fichiers éparpillés dans le système sans moyen propre de revenir en arrière.

Un conteneur contourne le problème : il empaquette une application avec tout ce dont elle a besoin pour tourner, isolée du reste du système et de tous les autres conteneurs. En démarrer un ne touche pas aux paquets de Debian, et le supprimer tient en une commande qui ne laisse rien derrière. Ce n'est pas non plus une machine virtuelle, il n'y a pas de second système d'exploitation à démarrer ni de ressources à réserver à l'avance : un conteneur partage le noyau de l'hôte et démarre en une seconde environ, en n'utilisant que la RAM et le CPU dont l'application à l'intérieur a réellement besoin.

Docker est l'outil qui construit, démarre et gère ces conteneurs. Pointez-le sur une image, un instantané prêt à l'emploi d'une application maintenu par ses développeurs, et il la télécharge et la lance en une commande. Tout le reste de Serveex est bâti dessus : chaque application à partir d'ici est un conteneur Docker, ou une poignée de conteneurs qui travaillent ensemble.

picture

Installer Docker

::steps{level="3"}

Ajouter le dépôt Docker et la clé GPG

# Ajoute la clé GPG officielle de Docker :
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Ajoute le dépôt aux sources Apt :
echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian   $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Installer les paquets

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Terminé !

::

Plus d'options : Installer Docker pour Debian 13

::note

À partir d'ici, nous partons du principe que les stacks sont installées dans le dossier /srv/docker, créé avec la commande :

sudo mkdir /srv/docker

::

Installer Dockge pour gérer et déployer les conteneurs

Dockge est un outil web permettant de créer, configurer, lancer et gérer des conteneurs pour Docker. C'est une interface simple, intuitive, qui est plus légère et plus facile pour les débutants que d'utiliser docker en CLI ou Portainer.

picture

Configuration

::file-tree

label: Structure de fichiers que nous allons créer tree: /: - srv: - docker: - dockge: - compose.yml

::

::steps{level="4"}

Créer le dossier de la stack

cd /srv/docker
sudo mkdir dockge

Créer le fichier compose

cd /srv/docker/dockge
sudo nano compose.yml

Collez ce qui suit :

---
services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    container_name: dockge
    ports:
      - 3555:5001 # le port accessible sur le réseau local sera 3555

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /srv/docker/dockge/data:/app/data
      - /srv/docker:/srv/docker
    environment:
      - DOCKGE_STACKS_DIR=/srv/docker

Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.

Lancer le conteneur

cd /srv/docker/dockge
sudo docker compose up -d

Allez ensuite sur http://ipdevotreserveur:3555 dans votre navigateur pour accéder à la page de connexion.

Plus d'infos sur Dockge et son utilisation

Terminé !

::

Et voilà ! Docker et un outil pour gérer facilement vos conteneurs sont prêts !

Watchtower, pour mettre à jour les conteneurs automatiquement

Watchtower est un conteneur qui permet de vérifier les mise à jour et d'installer les nouvelles images sans effort, en ajoutant un simple label dans les fichiers compose.yml de vos conteneurs.

Configuration

::steps{level="4"}

Créer la stack

  • Ouvrez Dockge dans votre navigateur
  • Cliquez sur compose
  • Nommez la stack watchtower
  • Collez la configuration ci-dessous dans la zone de configuration par défaut de Dockge
---
services:
  watchtower:
    container_name: watchtower
    image: ghcr.io/nicholas-fedor/watchtower:latest
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - TZ=Europe/Paris
      - WATCHTOWER_SCHEDULE=${SCHEDULE}
      - WATCHTOWER_LABEL_ENABLE=true
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_REMOVE_VOLUMES=true
      # Notifications Discord - décommentez si utilisées
      #- WATCHTOWER_NOTIFICATIONS=slack
      #- WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower
      #- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=${WH_URL}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Renseigner vos variables d'environnement

Remplissez la section .env dans Dockge avec ce qui suit :

SCHEDULE=
WH_URL=
Propriété Valeur Exemples
SCHEDULE Format cron 0 0 6 * * * (tous les jours à 6h)
WH_URL L'URL de votre webhook Discord, ajoutez /slack à la fin https://votreserveurdiscord/webhook/slack

Activer Watchtower sur les autres conteneurs

Pour que Watchtower surveille vos autres conteneurs, ajoutez ceci à leur compose.yml :

---
labels:
  - com.centurylinklabs.watchtower.enable=true

Redémarrez ensuite les stacks modifiées.

Terminé !

::

Et voilà, vous avez une bonne carcasse pour commencer à installer les services qui vous plaisent !