Post

Proxmox VM Debian 13 (image cloud) (vm-trixie01)

Proxmox VM Debian 13 (image cloud) (vm-trixie01)

Proxmox VM Debian 13

Installer Docker dans une machine virtuelle avec une image cloud debian 13

VM - vm-trixie01

Le réseau est géré par netplan, configuration dans le dossier /etc/netplan

Générer une paire de clé sur l'ordinateur de bureau PC1
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.

1
2
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/vm-trixie01
chmod 600 ~/.ssh/vm-trixie01

Promox shell
Cloner le modèle pour déployer rapidement une VM (en mode shell su sous Proxmox)

  • Faire un clone du modèle :
    1
    
    qm clone 900 200 --name vm-trixie01
    
  • Définir les paramètres via le menu cloud-init :

Utilisateur: yak
Mot de passe: yak49
Clef publique: cat ~/.ssh/vm-trixie01.pub
Configuration IP: ip=192.168.0.225,gw=192.168.0.205

  • Une fois les informations renseignées, cliquer sur « Démarrer » :

Matériel

Se connecter à la VM sur le poste linux avec la clé SSH

1
ssh -i ~/.ssh/vm-trixie01 yak@192.168.0.225

Motd
Création nouveau motd

1
2
sudo apt install rsync curl tmux jq figlet git tree -y
sudo rm /etc/motd && sudo nano /etc/motd

Texte ASCII

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      _        _      _                       _  _____                 
   __| |  ___ | |__  (_)  __ _  _ __         / ||___ /                 
  / _` | / _ \| '_ \ | | / _` || '_ \  _____ | |  |_ \                 
 | (_| ||  __/| |_) || || (_| || | | ||_____|| | ___) |                
  \__,_| \___||_.__/ |_| \__,_||_|_|_|       |_||____/               _ 
   __ _   ___  _ __    ___  _ __ (_)  ___  ___ | |  ___   _   _   __| |
  / _` | / _ \| '_ \  / _ \| '__|| | / __|/ __|| | / _ \ | | | | / _` |
 | (_| ||  __/| | | ||  __/| |   | || (__| (__ | || (_) || |_| || (_| |
  \__, | \___||_| |_| \___||_|   |_| \___|\___||_| \___/ _\__,_| \__,_|
 _|___/_ _ __ ___         | |_  _ __ (_)__  __(_)  ___  / _ \ / |      
 \ \ / /| '_ ` _ \  _____ | __|| '__|| |\ \/ /| | / _ \| | | || |      
  \ V / | | | | | ||_____|| |_ | |   | | >  < | ||  __/| |_| || |      
  _\_/__|_|_|_| |_|  _   __\__||_|_  |_|/_/\_\|_|_\___|_\___/ |_|_     
 / | / _ \|___ \    / | / /_   ( _ )   / _ \   |___ \ |___ \ | ___|    
 | || (_) | __) |   | || '_ \  / _ \  | | | |    __) |  __) ||___ \    
 | | \__, |/ __/  _ | || (_) || (_) |_| |_| |_  / __/  / __/  ___) |   
 |_|   /_/|_____|(_)|_| \___/  \___/(_)\___/(_)|_____||_____||____/    

Alias fichier .bash_aliases

1
2
alias journal='sudo SYSTEMD_LESS=FRXMK journalctl'
alias service='systemctl list-units --type=service --state=running'

Valider; source .bash_aliases

Client NFS

Installer nfs client

1
sudo apt -y install nfs-common

Créer le point de montage

1
mkdir ~/docker-data

Pour monter automatiquement les actions NFS, une entrée doit être faite à /etc/fstab comme suit:

1
192.168.0.205:/sharenfs/docker-data /home/yak/docker-data nfs4 rw,_netdev 0 0

Recharger systemd et le montage NFS

1
2
sudo systemctl daemon-reload
sudo mount -a

Mariadb

Installation

1
sudo apt -y install mariadb-server 

Docker

Installer docker

Installer les dépendances nécessaires au bon fonctionnement de Docker.

1
sudo apt install apt-transport-https ca-certificates curl gpg

Ajouter la clé GPG officielle Deuxièmement, nous devons ajouter le dépôt officiel de Docker à notre machine Debian afin de pouvoir récupérer les sources. Commençons par récupérer la clé GPG qui nous permettra de valider les paquets récupérés depuis le dépôt Docker :

1
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

Ajouter le dépôt Docker à la liste des sources de notre machine

1
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Installer Docker
Exécutez la commande suivante pour installer la dernière version de Docker à jour sur Debian 13.

1
2
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker est installé, le service doit être démarré et activé pour s’exécuter automatiquement au démarrage par défaut. Vérifions.

1
sudo systemctl is-active docker

renvoie active si tout est OK

Pour exécuter les commandes docker en tant qu’utilisateur non root, vous devez d’abord ajouter votre utilisateur au groupe « docker ».

1
sudo usermod -aG docker ${USER}

Dans la commande ci-dessus, ${USER} est une variable d’environnement système qui contient votre nom d’utilisateur puis exécuter la commande suivante pour activer les modifications au groupe:

1
newgrp docker

Vérifiez que Docker fonctionne :

1
docker run hello-world

Si tout est correctement configuré, vous verrez le message de bienvenue de Docker. Version docker: docker version

Watchtower

Watchtower est un petit outil fonctionnant avec Docker et analysant les containers Docker lancés pour vérifier si une mise à jour de leur image est disponible. Si c’est le cas, la nouvelle image est téléchargée puis le container est mis à jour avec la nouvelle image.

Créer un dossier

1
2
mkdir ~/watchtower
cd ~/watchtower

le fichier docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
services:
  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower
    restart: unless-stopped
    environment:
      DOCKER_API_VERSION: "1.52"
      WATCHTOWER_POLL_INTERVAL: 86400
      WATCHTOWER_CLEANUP: true
      WATCHTOWER_INCLUDE_RESTARTING: true
      WATCHTOWER_LOG_LEVEL: info
      WATCHTOWER_HTTP_API_METRICS: false
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

Lancer

1
docker compose up -d

Vérifier

1
docker logs watchtower

Info

1
2
3
4
5
time="2025-12-02T10:04:22Z" level=info msg="Watchtower 1.7.1"
time="2025-12-02T10:04:22Z" level=info msg="Using no notifications"
time="2025-12-02T10:04:22Z" level=info msg="Checking all containers (except explicitly disabled with label)"
time="2025-12-02T10:04:22Z" level=info msg="Scheduling first run: 2025-12-03 10:04:22 +0000 UTC"
time="2025-12-02T10:04:22Z" level=info msg="Note that the first check will be performed in 23 hours, 59 minutes, 59 seconds"
Cet article est sous licence CC BY 4.0 par l'auteur.