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
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"


