Les adresses IP et noms de domaine de production ont été remplacés par des libellés génériques par mesure de sécurité.
Contexte
En parallèle de l’infrastructure réseau et de la supervision, j’ai déployé une couche applicative complète sur Proxmox VE (PVE-01) dans le VLAN 20 SERVERS (172.16.20.0/24). L’objectif : disposer de services auto-hébergés couvrant documentation, gestion de projet, automatisation, IA locale et médias — sans dépendance à des fournisseurs cloud tiers.
Inventaire des services déployés
| Service | CTID | VLAN | Port appli | Usage |
|---|---|---|---|---|
| Docmost (wiki) | 200 | VLAN 20 | 3000 | Documentation collaborative |
| Vikunja | 201 | VLAN 20 | 3456 | Gestion de tâches / Kanban |
| Dashy | 202 | VLAN 20 | 3000 | Dashboard homelab centralisé |
| Baikal | 204 | VLAN 20 | 80 | Calendrier + contacts (CalDAV/CardDAV) |
| n8n | 205 | VLAN 20 | 5678 | Automatisation de workflows |
| Ollama | 206 | VLAN 20 | 11434 | LLM local (modèles : Llama, Mistral) |
| Firefly III | 207 | VLAN 20 | 80 | Gestion des finances personnelles |
| ActualBudget | 208 | VLAN 20 | — | Budget personnel alternatif |
| VM media-01 | 501 | VLAN 20 | 8096 / 2283 | Jellyfin (médias) + Immich (photos) |
Méthodologie de déploiement LXC
Chaque service suit un processus standardisé en 4 étapes :
1. Création du LXC Proxmox
pct create <CTID> local:vztmpl/debian-12-standard_12.X_amd64.tar.zst \
--hostname lxc-<service>-01 \
--cores 2 --memory 512 --swap 256 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,tag=20,ip=172.16.20.X/24,gw=172.16.20.1 \
--nameserver <IP-ADGUARD> \
--searchdomain homelab.lan \
--unprivileged 1 --onboot 1
pct start <CTID>
Le tag VLAN
tag=20place automatiquement le LXC dans le VLAN 20 SERVERS. Le résolveur DNS est AdGuard Home (VLAN 10 MGMT).
2. Mise à jour système + installation du service
Chaque LXC reçoit un minimum de paquets (aucune dépendance inutile). Pour les services nécessitant Docker (ex. Ollama, Vaultwarden), un LXC unprivileged avec nesting=1 suffit sans compromettre l’isolation Proxmox.
3. Exposition via Nginx Proxy Manager NPM (VLAN 10 MGMT) reçoit le trafic HTTPS entrant via un port-forward pfSense (NAT) et le route vers le service interne selon le FQDN :
*.[mon-domaine.fr]→ certificat wildcard Let’s Encrypt automatique (Cloudflare DNS-01)- En interne : AdGuard Home redirige
service.[mon-domaine.fr] → NPM(split-horizon) - Aucun accès direct aux ports applicatifs depuis l’extérieur
4. Inventaire Zabbix + monitoring Chaque LXC est ajouté dans Zabbix via l’agent2 ou un template auto-registration pour la supervision de la disponibilité.
Cas concret — n8n (automatisation)
n8n (CTID 205, VLAN 20, exposé sur n8n.[mon-domaine.fr]) sert notamment à :
- Synchroniser des données entre services internes (Baikal → Firefly III)
- Recevoir des webhooks depuis GitHub
- Envoyer des alertes Telegram sur déclenchement Zabbix
- Automatiser la génération de rapports
GitHub webhook → n8n (VLAN 20) → Telegram / Zabbix API
Cas concret — Ollama (LLM local)
Ollama (CTID 206, VLAN 20) est déployé sur PVE-01 (Dell R720, 386 Go RAM). Il permet d’héberger des modèles de langage en local sans envoyer de données à des fournisseurs tiers :
ollama pull llama3.2 # téléchargement du modèle
ollama run llama3.2 # inférence locale
Les modèles testés : Llama 3.2, Mistral 7B, CodeGemma pour l’assistance au code. L’accès est limité au réseau interne (pas d’exposition publique).
Architecture réseau des services VLAN 20
Internet (client distant via Tailscale)
│
▼
NPM (VLAN 10 MGMT) ← wildcard SSL *.[mon-domaine.fr]
│ HTTP interne (isolation VLAN)
▼
Services VLAN 20 (172.16.20.0/24)
│
▼
AdGuard Home (VLAN 10) ← split-horizon DNS
↓
pfSense WAN → Internet
Points clés
- Isolation VLAN : les services VLAN 20 ne communiquent pas directement avec VLAN 10 MGMT ni les autres VLANs (ACLs Cisco 3560-CX)
- Aucun port applicatif exposé : tout le trafic entrant passe par NPM (reverse proxy) avec SSL/TLS
- LXC Debian 12 unprivileged : isolation maximale Proxmox, risque de compromission limité
- Conventions de nommage :
lxc-<service>-01, CTID 200-299 (VLAN 20), adressage.100et au-delà - Backups automatiques : Proxmox Backup Server (PBS) sur les deux nœuds