Aller au contenu
tuto.nikox
1Ligne 1Premiers pas

Direction : Une page web servie par ton propre serveur

Ton premier conteneur, et une page web dedans

Créer un conteneur Debian sur Proxmox, s'y connecter par clé SSH, installer un serveur web et afficher ta propre page. Avec le piège qui nous a coupé l'accès, et comment s'en sortir.

Durée
30 minutes
Niveau
Débutant
Étapes
7
Testé le
2 octobre 2026

Avant de partir

  • Un hôte Proxmox qui fonctionne
  • Ta clé SSH sur ton PC
  • Une adresse IP libre sur ton réseau
Station précédenteSe connecter par clé SSH

À la fin de ce tuto, tu tapes une adresse dans ton navigateur et tu vois une page que tu as écrite, servie par une machine à toi. C'est le geste de base de tout le homelab : presque tous les services des autres lignes (domotique, photos, messagerie) s'installent exactement comme ça, dans un conteneur.

Ton PC se connecte, à travers le réseau de la maison, au conteneur qui vit dans l'hôte Proxmox. Ton PC tu tapes ici Hôte Proxmox 192.168.1.10 Conteneur 110 monsite, 192.168.1.50 Debian + nginx réseau maison 1 2 3 4
  1. 1Ton PC, d'où tu tapes les commandes
  2. 2L'hôte Proxmox, la machine physique
  3. 3La connexion à travers le réseau de la maison
  4. 4Le conteneur que tu vas créer

Récupérer le modèle Debian

Un conteneur ne part pas de rien : Proxmox copie un modèle, une sorte de système tout prêt. On prend Debian, stable et bien documenté. Ouvre un terminal sur l'hôte Proxmox 2 (dans l'interface web : clique sur le nom de ton nœud, puis Shell) et tape :

Sur l'hôte Proxmox
pveam update
pveam available --section system | grep debian

La deuxième commande liste les modèles Debian disponibles. Prends le plus récent (le numéro peut être différent chez toi) :

Sur l'hôte Proxmox
pveam download local debian-13-standard_13.1-2_amd64.tar.zst

Choisir une adresse libre

Ton conteneur aura sa propre adresse IP 4, comme n'importe quel appareil de la maison. Elle doit être libre : si deux machines ont la même, aucune des deux ne marche correctement.

Choisis une adresse dans la plage de ton réseau mais en dehors de celle que ta box distribue automatiquement (souvent visible dans la page « DHCP » de la box). Dans ce tuto, on prend 192.168.1.50. Vérifie que personne ne répond :

Sur l'hôte Proxmox
ping -c 2 192.168.1.50

Créer le conteneur

Avant tout, copie ta clé SSH publique sur l'hôte : c'est elle qui te permettra d'entrer dans le conteneur sans mot de passe. Depuis ton PC 1 :

Sur ton PC
scp $HOME\.ssh\id_ed25519.pub root@192.168.1.10:/tmp/ma-cle.pub

Remplace 192.168.1.10 par l'adresse de ton hôte Proxmox. Puis, sur l'hôte, une seule commande crée tout :

Sur l'hôte Proxmox
pct create 110 local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst \
  --hostname monsite \
  --cores 1 --memory 512 --swap 256 \
  --rootfs local-lvm:4 \
  --net0 name=eth0,bridge=vmbr0,ip=192.168.1.50/24,gw=192.168.1.1 \
  --unprivileged 1 --features nesting=1 --onboot 1 \
  --ssh-public-keys /tmp/ma-cle.pub

Ligne par ligne, ce que tu viens de demander :

  • 110 : le numéro du conteneur dans Proxmox. Il doit être libre (regarde la liste à gauche de l'interface).
  • --hostname monsite : son nom.
  • --cores 1 --memory 512 : un cœur et 512 Mo de mémoire. Pour une page web, c'est largement assez.
  • --rootfs local-lvm:4 : un disque de 4 Go.
  • --net0 … ip=192.168.1.50/24,gw=192.168.1.1 : l'adresse choisie à l'étape précédente, et la passerelle (l'adresse de ta box).
  • --unprivileged 1 : le conteneur n'a pas les pleins pouvoirs sur l'hôte. Une sécurité à toujours garder.
  • --onboot 1 : il redémarre tout seul quand l'hôte redémarre.
  • --ssh-public-keys : ta clé est installée dedans, et aucun mot de passe root n'est créé.

Le démarrer et y entrer

Sur l'hôte Proxmox
pct start 110

Puis, depuis ton PC, connecte-toi en SSH 3 :

Sur ton PC
ssh root@192.168.1.50

La première fois, SSH demande si tu fais confiance à cette machine : tape yes. Tu n'as pas de mot de passe à saisir, c'est ta clé qui t'identifie.

Installer le serveur web

On met d'abord le système à jour, puis on installe nginx, le logiciel qui enverra ta page aux navigateurs. apt s'occupe de tout :

Dans le conteneur
apt update && apt -y upgrade
apt -y install nginx-light

Écrire ta première page

nginx affiche ce qu'il trouve dans le dossier /var/www/html. Remplace la page par défaut par la tienne :

Dans le conteneur
cat > /var/www/html/index.html <<'FIN'
<!doctype html>
<meta charset="utf-8">
<title>Mon serveur</title>
<h1>Bonjour depuis mon homelab !</h1>
<p>Cette page est servie par un conteneur chez moi.</p>
FIN

Ouvre maintenant ton navigateur à l'adresse http://192.168.1.50 4.

Le laisser se mettre à jour tout seul

Un serveur qu'on oublie de mettre à jour finit par devenir une porte d'entrée. Debian sait installer seul ses correctifs de sécurité, chaque jour :

Dans le conteneur
apt -y install unattended-upgrades
systemctl status unattended-upgrades --no-pager

Terminus de ce tuto

Tu es arrivé à destination : une page web servie par ton propre serveur.

Station suivanteSauvegardes automatiques