?é Comp�tences acquises
Ma�triser les Conteneurs LXC
??é Le Tutoriel Complet
Les Conteneurs LXC de A � Z
La m�taphore d'OWL : Le Colocataire vs le Locataire ?é
Une VM compl�te (KVM), c'est un locataire avec son propre appartement : ses propres murs, sa propre cuisine, m�me ses propres tuyaux (noyau Linux). �a prend de la place, �a co�te cher en ressources, mais c'est totalement isol�.
Un LXC, c'est un colocataire : il partage les murs, les tuyaux et la chaudi�re (le noyau Linux de l'h�te), mais a quand m�me sa propre chambre bien � lui, ses propres processus, son propre r�seau, son propre espace disque.
Le r�sultat é Le LXC d�marre en 2 secondes, consomme 50 MB de RAM au lieu de 512 MB, et tu peux en lancer 20 l� o� tu n'aurais mis que 4 VMs. C'est la puissance des conteneurs. ?é
1. LXC vs VM � Quand Choisir Quoi é ?é
?é Utilise un LXC pour...
- éServices Linux l�gers (Nginx, Pi-hole, Gitea...)
- éNombreux services sur peu de RAM
- éServices qui n'ont pas besoin de noyau personnalis�
- éD�marrage ultra-rapide (< 3s)
- éPartage de r�pertoires h�te (bind mount NAS)
- éHome Assistant (Supervised)
??é Utilise une VM pour...
- éWindows (obligatoire)
- éTrueNAS Scale (besoin noyau ZFS propre)
- épfSense / OPNsense (firewall)
- éServices n�cessitant un noyau modifi�
- éIsolation totale requise (s�curit� maximale)
- éGPU passthrough / IOMMU
?é
R�gle OWL : LXC en premier, VM seulement si n�cessaire. Sur mon homelab, 70% de mes services tournent en LXC � c'est assez pour �conomiser ~12 GB de RAM par rapport � des VMs �quivalentes.
?é Utilise un LXC pour...
- éServices Linux l�gers (Nginx, Pi-hole, Gitea...)
- éNombreux services sur peu de RAM
- éServices qui n'ont pas besoin de noyau personnalis�
- éD�marrage ultra-rapide (< 3s)
- éPartage de r�pertoires h�te (bind mount NAS)
- éHome Assistant (Supervised)
??é Utilise une VM pour...
- éWindows (obligatoire)
- éTrueNAS Scale (besoin noyau ZFS propre)
- épfSense / OPNsense (firewall)
- éServices n�cessitant un noyau modifi�
- éIsolation totale requise (s�curit� maximale)
- éGPU passthrough / IOMMU
R�gle OWL : LXC en premier, VM seulement si n�cessaire. Sur mon homelab, 70% de mes services tournent en LXC � c'est assez pour �conomiser ~12 GB de RAM par rapport � des VMs �quivalentes.
2. T�l�charger les Templates LXC ?é
Proxmox utilise des templates � des images de base de distributions Linux. Il faut les t�l�charger une fois, ensuite on s'en sert � l'infini.
Navigation : Panneau gauche é local é onglet "CT Templates" é bouton "Templates"
debian-12-standard é le plus l�ger, id�al pour les services (~70 MB)
ubuntu-24.04-standard é si tu pr�f�res Ubuntu
alpine-3.x-default é ultra-l�ger (~10 MB), pour les services simples
turnkey-* é templates pr�-configur�s (WordPress, Nextcloud...)
# Ou depuis le shell Proxmox :
pveam update
pveam available | grep debian
system debian-12-standard_12.7-1_amd64.tar.zst
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
...downloaded 'debian-12-standard_12.7-1_amd64.tar.zst' (73.33 MB)
3. Cr�er un Conteneur LXC � Wizard ?é
Clique sur "Create CT" (bouton bleu en haut � droite) :
General � ID, hostname, mot de passe
Hostname : pihole é nom du conteneur
Password : ���������� é mot de passe root du LXC
# é Unprivileged container : toujours activ� sauf besoin sp�cifique
# é plus s�curis�, les processus root du LXC é root de l'h�te
Template � Choisir la distribution
Template : debian-12-standard_12.7-1_amd64.tar.zst
Disks � Espace disque du LXC
Disk : 8 GiB é suffisant pour la plupart des services
20 GiB é si le service stocke des donn�es
CPU & Memory � Configuration l�g�re
Cores : 1 é 1 c�ur suffit pour la plupart des services
: 2 é si le service est intensif en CPU
# Memory
Memory : 256 MiB é Pi-hole, services DNS/proxy
: 512 MiB é la plupart des services web
: 1024 MiB é si le service est gourmand
Swap : 512 MiB é conserver un peu de swap de s�curit�
Network � IP fixe recommand�e
Bridge : vmbr0
IPv4 : Static
IP : 192.168.1.200/24 é IP fixe, plus pratique que DHCP
Gateway: 192.168.1.1
# Convention OWL : LXC 200-299 é IP 192.168.1.200-299
DNS � R�solution de noms
DNS server : 1.1.1.1 é Cloudflare, ou 8.8.8.8 (Google)
: 192.168.1.200 é si Pi-hole est d�j� install� !
Clique "Finish" puis coche "Start after created" � le LXC d�marre en 2-3 secondes ! C'est �a la magie du LXC. ?é
4. Acc�der & G�rer le Conteneur ?é
1
??é Console Proxmox � la m�thode la plus simple
Panneau gauche é clique sur ton LXC (ex: 200 (pihole)) é onglet "Console". Un terminal root s'ouvre directement dans le navigateur � pas besoin d'SSH !
2
??é Arr�ter / D�marrer depuis l'interface
Clic-droit sur le LXC dans l'arborescence é "Start", "Stop", "Reboot" ou "Shutdown". Ou via les boutons en haut � droite quand le LXC est s�lectionn�.
3
??é Acc�s SSH (apr�s configuration)
Depuis la console, installe et configure OpenSSH (voir commandes CLI ci-dessous), puis tu peux te connecter depuis ton PC avec ssh root@192.168.1.200.
?é CLI � Acc�s au LXC � 3 m�thodes
### M�thode 1 : Console Proxmox (navigateur) ###
LXC 200 é onglet "Console" é terminal root direct
### M�thode 2 : Shell depuis le node Proxmox ###
pct enter 200
root@pihole:~#
### M�thode 3 : SSH (apr�s config) ###
# Depuis le LXC (console) : activer SSH
apt install -y openssh-server
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
systemctl restart ssh
# Depuis ton PC :
ssh root@192.168.1.200
root@pihole:~#
?é
Commandes PCT essentielles (depuis le node Proxmox) : pct start 200 � pct stop 200 � pct restart 200 � pct list � pct config 200
??é Console Proxmox � la m�thode la plus simple
Panneau gauche é clique sur ton LXC (ex: 200 (pihole)) é onglet "Console". Un terminal root s'ouvre directement dans le navigateur � pas besoin d'SSH !
??é Arr�ter / D�marrer depuis l'interface
Clic-droit sur le LXC dans l'arborescence é "Start", "Stop", "Reboot" ou "Shutdown". Ou via les boutons en haut � droite quand le LXC est s�lectionn�.
??é Acc�s SSH (apr�s configuration)
Depuis la console, installe et configure OpenSSH (voir commandes CLI ci-dessous), puis tu peux te connecter depuis ton PC avec ssh root@192.168.1.200.
LXC 200 é onglet "Console" é terminal root direct
### M�thode 2 : Shell depuis le node Proxmox ###
pct enter 200
root@pihole:~#
### M�thode 3 : SSH (apr�s config) ###
# Depuis le LXC (console) : activer SSH
apt install -y openssh-server
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
systemctl restart ssh
# Depuis ton PC :
ssh root@192.168.1.200
root@pihole:~#
Commandes PCT essentielles (depuis le node Proxmox) : pct start 200 � pct stop 200 � pct restart 200 � pct list � pct config 200
5. Bind Mounts � Partager des Dossiers H�te ?é
Un bind mount permet de monter un dossier de l'h�te Proxmox (ou d'un NAS NFS) directement dans le LXC. Parfait pour partager des donn�es entre containers.
??é Via l'interface web
LXC s�lectionn� é onglet "Resources" é bouton "Add" é s�lectionner "Mount Point". Remplis le chemin h�te (Host path) et le point de montage dans le LXC (Container path).
?é Ajuster les permissions (LXC non-privil�gi�)
Pour les LXC non-privil�gi�s, les UIDs sont d�cal�s de 100000. Depuis le shell Proxmox (node) : chown -R 100000:100000 /ton/dossier pour que le LXC puisse y �crire.
# LXC é Resources é Add é Bind Mount
Host path : /mnt/nas/media é dossier sur l'h�te Proxmox
Mount point : /data/media é chemin dans le LXC
# M�thode 2 : �diter directement la config du LXC
nano /etc/pve/lxc/200.conf
# Ajouter la ligne :
mp0: /mnt/nas/media,mp=/data/media
# ?é Pour les LXC non-privil�gi�s, ajuster les permissions :
chown -R 100000:100000 /mnt/nas/media é ID mapping non-priv
6. Cas Pratiques Homelab � 3 Services � D�ployer ?é
Voici 3 services id�aux en LXC avec leurs param�tres recommand�s :
Pi-hole � Bloqueur de Pubs DNS
CT 200 � Debian 12 � 1 core � 256 MB � IP 192.168.1.200
apt update && apt install -y curl
curl -sSL https://install.pi-hole.net | bash
[?] Pi-hole installed!
Admin Web Interface: http://192.168.1.200/admin
Admin Password : xxxxxx
Nginx � Serveur Web / Reverse Proxy
CT 201 � Debian 12 � 1 core � 128 MB � IP 192.168.1.201
apt update && apt install -y nginx
systemctl enable --now nginx
é nginx.service - A high performance web server...
Active: active (running)
# Test depuis ton PC :
curl http://192.168.1.201
<!DOCTYPE html><html>Welcome to nginx!</html>
Gitea � Ton GitHub Priv�
CT 202 � Ubuntu 24.04 � 2 cores � 512 MB � IP 192.168.1.202
apt update && apt install -y git wget
# T�l�charger Gitea
wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/latest/gitea-linux-amd64
chmod +x /usr/local/bin/gitea
# Cr�er utilisateur syst�me
useradd -r -m -d /home/gitea -s /bin/bash gitea
gitea web &
2026/04/11 - Gitea listening on http://192.168.1.202:3000
?é Bonus � Proxmox Helper Scripts
La communaut� helper-scripts.com propose des scripts qui cr�ent et configurent automatiquement des LXC optimis�s pour des centaines de services. C'est la r�f�rence de la communaut� Proxmox.
# Pi-hole LXC
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/pihole.sh)"
# Home Assistant OS (VM !)
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/vm/haos-vm.sh)"
# Nginx Proxy Manager LXC
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/nginxproxymanager.sh)"
# é Script interactif : choisit la config, cr�e le LXC, installe le service
# é Tout en ~2 minutes, sans configuration manuelle ! ?é
OWL te recommande : toujours lire le script avant de l'ex�cuter sur ton h�te. C'est open-source, tr�s auditable. Le site helper-scripts.com permet de voir exactement ce que chaque script fait.
7. Gestion Avanc�e � Snapshots & Clonage ?é
1
??é Prendre un snapshot
LXC s�lectionn� é onglet "Snapshots" é bouton "Take Snapshot" é entre un nom descriptif (ex: avant-mise-a-jour) é "Take Snapshot". Le snapshot appara�t dans la liste en quelques secondes.
2
??é Restaurer un snapshot
Onglet "Snapshots" é s�lectionne le snapshot voulu é bouton "Rollback" é confirme. Le LXC revient � l'�tat captur�. Attention : toutes les modifications apr�s le snapshot sont perdues.
3
??é Cloner un LXC
Clic-droit sur le LXC é "Clone" é choisis un nouvel ID et hostname é s�lectionne "Full Clone" (copie compl�te ind�pendante) é "Clone". La progression s'affiche dans Tasks.
?é CLI � Commandes PCT avanc�es
### Snapshot d'un LXC ###
pct snapshot 200 snap-avant-mise-a-jour
200: creating snapshot 'snap-avant-mise-a-jour' � done
### Lister les snapshots ###
pct listsnapshot 200
snap-avant-mise-a-jour 2026-04-11 06:00:00
### Restaurer un snapshot ###
pct rollback 200 snap-avant-mise-a-jour
### Cloner un LXC (cr�e une copie ind�pendante) ###
pct clone 200 203 --hostname pihole-backup --full
create full clone of CT 200 to CT 203
### Backup manuel ###
vzdump 200 --compress zstd --storage local
creating vzdump archive file /var/lib/vz/dump/vzdump-lxc-200-*.tar.zst
??é Prendre un snapshot
LXC s�lectionn� é onglet "Snapshots" é bouton "Take Snapshot" é entre un nom descriptif (ex: avant-mise-a-jour) é "Take Snapshot". Le snapshot appara�t dans la liste en quelques secondes.
??é Restaurer un snapshot
Onglet "Snapshots" é s�lectionne le snapshot voulu é bouton "Rollback" é confirme. Le LXC revient � l'�tat captur�. Attention : toutes les modifications apr�s le snapshot sont perdues.
??é Cloner un LXC
Clic-droit sur le LXC é "Clone" é choisis un nouvel ID et hostname é s�lectionne "Full Clone" (copie compl�te ind�pendante) é "Clone". La progression s'affiche dans Tasks.
pct snapshot 200 snap-avant-mise-a-jour
200: creating snapshot 'snap-avant-mise-a-jour' � done
### Lister les snapshots ###
pct listsnapshot 200
snap-avant-mise-a-jour 2026-04-11 06:00:00
### Restaurer un snapshot ###
pct rollback 200 snap-avant-mise-a-jour
### Cloner un LXC (cr�e une copie ind�pendante) ###
pct clone 200 203 --hostname pihole-backup --full
create full clone of CT 200 to CT 203
### Backup manuel ###
vzdump 200 --compress zstd --storage local
creating vzdump archive file /var/lib/vz/dump/vzdump-lxc-200-*.tar.zst
é Checklist � Ton Premier LXC est Pr�t quand...
- éLe LXC d�marre en moins de 5 secondes depuis "Create CT" é "Start"
- éTu acc�des au shell via
pct enter 200ou la console Proxmox - é
apt update && apt upgradefonctionne (acc�s internet) - éL'IP fixe configur�e r�pond au ping depuis ton PC
- éTu as test� un snapshot et une restauration avec succ�s
?é Probl�mes Courants & Solutions
é "nesting" requis � Docker ne d�marre pas dans le LXC é
?é Docker dans un LXC non-privil�gi� n�cessite d'activer les options nesting et keyctl. Dans LXC é Options é Features é cocher Nesting. Si tu veux faire tourner Docker, une VM KVM est souvent plus simple et stable.
é Le LXC n'a pas acc�s � internet é
?é V�rifie : 1) Gateway d�fini (192.168.1.1), 2) bridge vmbr0 fonctionnel sur le node, 3) depuis le LXC : ping 1.1.1.1 � si �a marche mais pas les noms de domaine, c'est un probl�me DNS : v�rifie /etc/resolv.conf dans le LXC.
é Erreur de permissions sur le bind mount é
?é Pour les LXC non-privil�gi�s, les UIDs sont d�cal�s de 100000. Le root du LXC (UID 0) = UID 100000 sur l'h�te. Donc sur l'h�te : chown -R 100000:100000 /ton/dossier pour que le LXC puisse y �crire.
é Snapshot impossible � "CT is not a subvolume" é
?é Les snapshots LXC n�cessitent un stockage LVM-thin ou ZFS. Si tu utilises local (r�pertoire simple), les snapshots ne sont pas support�s. Cr�e le LXC sur local-lvm ou un pool ZFS � la place.
?é Tutoriel Vid�o
?é Vid�o � venir � abonnez-vous pour �tre notifi� Instagram