Files
2026-06-20 11:21:34 +02:00

4.7 KiB
Raw Permalink Blame History

🏗️ Architecture détaillée

Vue matérielle

┌─────────────────────────────────────────────────────────────┐
│                       Jonsbo N4 (boîtier)                    │
│                                                               │
│  ┌───────────────┐   ┌───────────────┐   ┌─────────────────┐ │
│  │ Ryzen 5 5600   │   │ 32 Go DDR4     │   │  TrueNAS Scale  │ │
│  │ (CPU)          │   │ (RAM)          │   │  (OS, ZFS)      │ │
│  └───────────────┘   └───────────────┘   └─────────────────┘ │
│                                                               │
│  Stockage :                                                  │
│  ┌───────────┐  ┌───────────────┐  ┌───────────────────────┐ │
│  │ 256 Go NVMe│  │ 2× 500 Go SSD │  │ 2× 4 To HDD + 1× 8 To  │ │
│  │ → OS       │  │ → Apps/Docker │  │ → Data / Médias       │ │
│  └───────────┘  └───────────────┘  └───────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

Logique de séparation

Couche Support Contenu
Système NVMe 256 Go TrueNAS Scale (boot pool)
Applications 2× SSD 500 Go Conteneurs Docker, bases de données
Données sensibles 2× HDD 4 To (miroir) Photos, vidéos, documents personnels
Médias 1× HDD 8 To Bibliothèque multimédia (Jellyfin)

Cette séparation permet :

  • d'isoler les workloads (le système ne partage pas son support avec les données) ;
  • de dimensionner chaque pool selon son usage (performance pour les apps, capacité/redondance pour les données) ;
  • de limiter le rayon d'impact d'une panne disque à une seule couche.

Vue logique des services

                         ┌────────────────────┐
                         │   Cloudflared        │
                         │ (tunnel sortant)     │
                         └─────────┬────────────┘
                                   │ HTTPS uniquement
                         ┌─────────▼────────────┐
                         │ Nginx Proxy Manager   │
                         │ (reverse proxy + TLS) │
                         └─────────┬────────────┘
                                   │
        ┌──────────────┬──────────┼──────────┬──────────────┐
        │              │          │          │              │
   ┌────▼───┐    ┌─────▼────┐ ┌───▼────┐ ┌────▼─────┐  ┌─────▼─────┐
   │Nextcloud│    │ Jellyfin │ │ Immich │ │Vaultwarden│  │  Gitea …  │
   └────┬───┘    └──────────┘ └────────┘ └──────────┘  └───────────┘
        │
   ┌────▼─────────────┐
   │ Authentik (SSO/MFA)│  ← contrôle d'accès transverse à tous les services
   └────────────────────┘

Principes directeurs

  1. Aucun service n'est exposé directement : tout passe par le tunnel sortant Cloudflared puis le reverse proxy.
  2. Authentification centralisée : Authentik agit comme point de contrôle unique pour le SSO/MFA.
  3. Isolation réseau interne : les conteneurs communiquent sur des réseaux Docker dédiés, pas en mode host.
  4. VPN dédié pour les flux sensibles : Gluetun encapsule le trafic de téléchargement (Deluge) pour éviter toute fuite d'IP.