Aller au contenu
[ PRJ-04 ]Personnel

Homelab hybride

Deux nœuds Proxmox à la maison et des VPS dans le cloud, reliés par Tailscale, exposés par Cloudflare et reconstruits par Ansible.

  • Proxmox
  • Tailscale
  • Cloudflare
  • Ansible
  • Docker
  • Zabbix
  • Debian

Contexte

Mon infrastructure personnelle : un terrain d’apprentissage, et l’hébergement de mes projets. Le critère de départ : qu’elle puisse se reconstruire depuis un dépôt Git, sans geste manuel.

Principe d’architecture

  • Trafic entrant : uniquement par Cloudflare (Tunnel et Access). Aucun port entrant ouvert sur Internet.
  • Trafic entre machines : uniquement par Tailscale.
  • Placement par criticité : le public sur Cloudflare (Pages, Workers) ; les services exposés en conteneurs sur des VPS ; l’interne et le lourd (stockage, sauvegardes, métrologie) à la maison, sur Proxmox.

Ce que j’ai fait

  • Monté deux nœuds Proxmox à la maison et plusieurs VPS à Paris et dans le cloud, tous sous Debian 13.
  • Écrit des rôles Ansible pour l’ensemble du parc : socle commun, durcissement, Tailscale, DNS récursif, Docker, Cloudflare Tunnel, Caddy, agents de supervision, sauvegardes.
  • Durci chaque hôte : SSH par clés uniquement, pare-feu nftables en drop, sysctl, AppArmor, services inutiles retirés.
  • Chiffré les secrets dans le dépôt avec SOPS et age.
  • Placé les interfaces d’administration derrière Cloudflare Access, avec des accès de secours documentés.
  • Mis en place la supervision avec Zabbix et Grafana.
  • Rédigé les procédures de migration et de reconstruction.

Ce que j’en retiens

  • Un rôle n’est terminé que s’il est idempotent : le deuxième passage ne change rien.
  • Docker contourne le pare-feu pour les ports publiés : je les lie à 127.0.0.1 ou à l’adresse Tailscale, et un test échoue sinon.
  • Une infrastructure documentée se reconstruit au lieu de se réparer.

Projet suivant

PRJ-052026· Personnel

Suivi de candidatures

Un outil privé qui suit chaque candidature : clics, ouvertures, réponses, relances.

Node.jsTypeScriptPostgreSQLCloudflare WorkersDocker
Voir le projet