[DOSSIER] Proxmox VE : montez votre propre datacenter à la maison.

On va commencer par une confession : pendant longtemps, j’ai cru que faire tourner plusieurs serveurs chez soi, c’était réservé aux gens avec une baie de brassage dans le garage et une IP fixe filée par leur boîte… Spoiler : non. Et je vais vous prouver que même avec une Livebox et un mini PC de récup’, on peut monter un setup solide.

(oui ça faisait un bail que je n’avais pas écris, mais j’étais bien occupé et vous allez comprendre pourquoi dans un instant… Et arrêtez de me couper 🥲)

Aujourd’hui, dossier complet sur Proxmox VE : c’est quoi, comment ça marche, et surtout — comment l’exploiter à fond même sans les moyens (ou l’infra) d’un pro.

Proxmox, kézaco ?

Proxmox VE (pour Virtual Environment), c’est ce qu’on appelle un hyperviseur. Imaginez un immeuble : Proxmox c’est le bâtiment, et chaque appartement à l’intérieur est une machine virtuelle ou un conteneur totalement indépendant des autres. Un problème dans l’appart’ du 3ème ? Ça n’affecte pas celui du 4ème.

Concrètement, ça vous permet donc de découper une seule machine physique en plein de machines virtuelles (VM) ou de conteneurs légers (LXC), chacune avec son propre OS, ses propres ressources, sa propre vie. Vous voulez un serveur Nextcloud ? Une VM. Un Pi-hole pour bloquer les pubs sur tout votre réseau ? Un conteneur LXC. Un serveur de jeu Minecraft pour vos potes ? Encore une VM.

Le tout piloté depuis une interface web plutôt claire, accessible depuis n’importe quel navigateur de votre réseau.

Et le meilleur dans tout ça ? C’est gratuit et open source (on ne se refait pas 😏). Il existe bien une version « Enterprise » avec support pro, mais la version communautaire suffit largement pour un usage perso.

Mon setup, pour la mise en contexte

Perso je tourne sur un HP ProDesk 400 G3 Tiny — un mini PC trouvé d’occaz’ sur leboncoin pour une centaine d’€. Un processeur i5 de 6ème génération, et une conso électrique tellement dérisoire que je n’ai vu aucune différence sur ma facture malgré une utilisation 24/7.
À la base seulement 8 Go de RAM, autant vous dire que ça a suffi pendant un bon moment pour faire mes premiers pas. Aujourd’hui je suis passé à 24 Go parce que j’ai multiplié les services (« et c’est pas fini » 😁), mais si vous débutez : ne vous ruinez pas en matos, un truc modeste suffit largement pour commencer à jouer.

Le mythe de l’IP fixe

Voilà LA fausse croyance qui bloque plein de monde : « je ne peux pas héberger de services chez moi, j’ai une IP dynamique. » (et c’est pas mon conseiller Orange qui me contredira, lui-même ayant été étonné quand je lui ai dit que j’avais mon serveur derrière ma Livebox ^^’)

Alors oui, contrairement à un pro qui paie pour une IP fixe chez son fournisseur, nous les particuliers on a bien souvent une IP publique qui change régulièrement (à chaque redémarrage de la box, ou tous les X jours selon les FAI). Sur Livebox typiquement, ça peut changer sans prévenir. Mais bonne nouvelle : il existe une solution simple, gratuite, et redoutablement efficace : le DDNS (Dynamic DNS).

Le principe est simple : un petit script (ou un service intégré à votre box/routeur, NAS, etc.) va notifier automatiquement votre fournisseur DNS à chaque fois que votre IP publique change. Résultat : votre nom de domaine pointera toujours vers la bonne adresse, même si votre IP a changé cinq fois dans la semaine sans que vous vous en rendiez compte.

Exposer ses services proprement

Bon, ok, on peut donc avoir une IP qui suit notre domaine. Mais attention : maintenant il ne s’agit surtout pas d’ouvrir tous les ports de votre box internet façon passoire.

C’est là qu’intervient le reverse proxy. Perso j’utilise Nginx Proxy Manager (NPM) — franchement, si vous cherchez un outil pour débuter sans vous arracher les cheveux avec de la conf Nginx en ligne de commande, c’est celui-là.

Le principe

Au lieu d’ouvrir un port différent pour chaque service (afin de pouvoir pointer vers monip:8080 ou monip:9000 par exemple — moche, et bof niveau sécurité), vous n’ouvrez que les ports 80 et 443 vers votre NPM. Lui se chargera ensuite de rediriger intelligemment le trafic vers le bon service en interne, selon le sous-domaine demandé.

Exemple concret chez moi :

  • nas.mondomaine.fr → redirige vers mon NAS Synology (photo, drive, etc.)
  • wiki.mondomaine.fr → redirige vers mon server Kiwix (mode hors-ligne pour Wikipédia, iFixit, etc.)
  • home.mondomaine.fr → redirige vers mon Home Assistant

Au final une seule IP publique, le strict minimum de port ouvert, mais des destinations différentes en interne. NPM gère même la génération automatique de certificats SSL gratuits via Let’s Encrypt — donc vos services sont accessibles en HTTPS sans galérer.

Concrètement, qu’est-ce qu’on peut faire tourner ?

Voici un aperçu de quelques containers (LXC donc) qui tournent actuellement sur ma machine :

  • AdGuard Home — mon bloqueur de pub à l’échelle du réseau (le cousin de Pi-hole).
  • Nginx Proxy Manager — on en a parlé juste avant, sert à exposer proprement tout ce qui doit l’être.
  • Paperless-ngx — pour numériser et classer mes documents, fini les papiers qui traînent. Bonus : il scanne ma boite email et récupère automatiquement toutes les pièces jointes, plus besoin d’uploader mes fichiers un par un à réception.
  • Emby — mon serveur multimédia perso, une alternative à Netflix mais avec MES fichiers.
  • Syncthing — synchronisation entre plusieurs appareils via P2P. Actuellement déconnecté, je compte m’en servir pour envoyer des backup de certains dossiers de mon NAS un peu partout en complément d’AWS S3 (histoire de multiplier les sauvegardes de données importantes sur divers devices / en divers endroit).
  • Element/Synapse — mon propre serveur Matrix, pour la messagerie décentralisée.
  • NetBird — un VPN open-source en architecture maillée (mesh) basée sur WireGuard, me permet d’accéder à certains services sécurisé de mon réseau depuis l’extérieur sans avoir à les exposer via NPM.
  • RustDesk Server — serveur de prise en main à distance, l’alternative libre à TeamViewer.
  • SearXNG — un métamoteur de recherche qui respecte la vie privée.
  • Invidious — une interface alternative à YouTube, sans pub ni tracking.
  • Kiwix — pour garder un accès à Wikipédia (et d’autres contenus) en local, hors ligne.
  • MeTube — surveille pour moi certaines chaines YouTube et enregistre automatiquement les nouvelles vidéos dans un dossier de mon NAS (relié à Emby)
  • FMD-Server — me permet de géolocaliser mon smartphone Android, mais aussi d’activer/désactiver/bloquer plein de paramètres à distance (utile en cas de perte ou de vol de l’appareil)
  • KitchenOwl — un petit book de nos recettes préférés, parce que… Pourquoi pas.
  • Glance — un dashboard perso qui me sert de page d’accueil, et me permet de garder un œil sur tout ça.

En parallèle il y a aussi mes machines virtuelles (Home Assistant pour la gestion de toute la domotique, un autre poste distant sous Debian 13 pour tester – et casser – des trucs sans conséquence, et qui me sert aussi de VM de secours pour les rares fois où ma tablette ne suffit plus, etc… M’enfin bref ^^’).

Vous l’aurez compris, ça commence doucement à faire un peu de monde. D’où l’intérêt de la virtualisation, plutôt que de devoir multiplier les ordinateurs et faire déprimer votre femme pour tout ce bazar.

Et maintenant ?

On a posé les bases : ce qu’est Proxmox, comment contourner le problème de l’IP dynamique avec du DDNS, et comment exposer ses services proprement avec un reverse proxy.

Dans un prochain article, je vous montrerai en détail comment installer Proxmox de A à Z, créer votre première VM, et configurer NPM pas à pas. Parce que là on a fait le tour « concept », mais le plus intéressant reste à venir : mettre les mains dans le cambouis. 😉

En attendant, si vous avez un vieux PC qui traîne au fond d’un placard, vous savez ce qu’il vous reste à faire. Et si vous préférez que quelqu’un d’autre se coltine les quelques lignes de commande : allumez trois bougies, murmurez « Proxmox » à minuit devant votre miroir avec une carte graphique dans les mains et je matérialiserai devant votre routeur… Ou sinon envoyez-moi un message.