Files
truenas-project/docs/architecture.md
T
2026-06-20 11:21:34 +02:00

67 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🏗️ Architecture détaillée
## Vue matérielle
```text
┌─────────────────────────────────────────────────────────────┐
│ 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
```text
┌────────────────────┐
│ 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.