Vue d'ensemble de l'architecture
Les machines, les couches logicielles et ce qui est exposé ou non.
Principes
- Tout en code : aucune VM, aucun enregistrement DNS créé à la main. OpenTofu pour l’infrastructure, Ansible pour la configuration.
- Exposition minimale : la vitrine passe par Cloudflare Tunnel ; les services personnels et la page de supervision passent par un seul port entrant, filtré par le pare-feu puis par un WAF, avec authentification unique. L’administration n’est accessible que par le VPN.
- Séparation des zones : réseau domestique (Freebox) et homelab (OPNsense) sont isolés ; le homelab est découpé en VLAN, et chaque zone n’a accès qu’à ce dont elle a besoin.
- Tout se restaure : sauvegarde chiffrée hors site chaque nuit, relue et comparée automatiquement ; procédures dans
runbooks/, incidents analysés danspostmortems/.
Couches
| Couche | Outils |
|---|---|
| Matériel | Dell PowerEdge T330 (serveur unique, carte graphique GTX 1050 confiée à la VM des applications : ADR 0024), Dell PowerEdge R610 (LAB allumé à la demande, à venir) |
| Hyperviseur & stockage | Proxmox VE, ZFS RAIDZ2 |
| Réseau & sécurité | OPNsense (virtualisé), VLAN, WireGuard, BunkerWeb (WAF), CrowdSec, Cloudflare (DNS, tunnel de la vitrine) |
| Identité | LLDAP (annuaire), Authelia (SSO et double authentification), page des comptes (invitations sans mot de passe transmis) |
| Provisionnement | OpenTofu (bpg/proxmox, opnsense, cloudflare), Ansible, lancé aussi depuis Semaphore UI |
| Applications | Docker Compose dans des VM dédiées par zone |
| Secrets | Coffre OpenBao (SSO, AppRole, audit), SOPS + age pour le démarrage |
| Observabilité | Prometheus, Alertmanager, NOC sur mesure, Grafana (interne), VictoriaLogs (journaux centralisés), ntfy (alertes sur téléphone), veille des connexions (adresses inconnues), sonde externe UptimeRobot |
| Services d’infra | NetBox (source de vérité), Semaphore UI (lancement des playbooks) |
Les choix structurants sont expliqués dans les ADR, en particulier l’ADR 0010 (un seul serveur), l’ADR 0008 (publication des services), l’ADR 0014 (supervision), l’ADR 0015 (Semaphore), l’ADR 0016 (coffre à secrets), l’ADR 0017 (invitations et page des comptes), l’ADR 0018 (droits par groupes et quotas), l’ADR 0019 (sauvegardes hors site) et l’ADR 0020 (journaux centralisés).
Ce qui est exposé
| Service | Domaine | Accès |
|---|---|---|
| Site vitrine | maximebertrand.net | Public (Cloudflare Tunnel) |
| NOC (page de supervision sur mesure) | noc.maximebertrand.net | Public, derrière OPNsense, WAF et SSO ; lecture seule |
| Notifications d’alerte (ntfy) | ntfy.maximebertrand.net | Public, derrière OPNsense et WAF ; comptes dédiés, tout refusé par défaut |
| Services personnels (photos, fichiers) | sous-domaines de maximebertrand.net | Public, derrière OPNsense, WAF et SSO avec double authentification |
| Administration, annuaire, outils internes | *.home.maximebertrand.net (DNS interne uniquement) | VPN uniquement ; SSO en plus pour la page des comptes |