🗄️ Homelab – Serveur NAS & infrastructure de services auto-hébergés
Serveur TrueNAS Scale auto-hébergé, conçu comme une infrastructure de stockage résiliente et un socle de services sécurisés appliquant des principes Zero-Trust à un environnement personnel.
📋 Vue d'ensemble
Ce projet est un NAS personnel tournant 24/7, construit autour de TrueNAS Scale. Il dépasse le simple stockage de fichiers : c'est un mini-datacenter personnel, pensé pour la maîtrise des données, la résilience face aux sinistres/ransomware, et l'hébergement d'une vingtaine de services conteneurisés.
Usages principaux :
- 🔐 Sécuriser et maîtriser mes données personnelles (photos, vidéos, documents)
- ☁️ Mettre en place une stratégie de sauvegarde hybride (local + cloud, logique 3-2-1)
- 🐳 Héberger un écosystème applicatif conteneurisé (cloud, médias, identité, mots de passe…)
- 🧠 Appliquer des principes d'architecture Zero-Trust à un homelab
🧱 Architecture générale
┌──────────────────────────────────┐
│ Jonsbo N4 │
│ TrueNAS Scale Host │
│ Ryzen 5 5600 / 32 Go DDR4 │
└────────────────┬───────────────────┘
│
┌───────────────────────────┼───────────────────────────┐
│ │ │
┌───────▼────────┐ ┌────────▼─────────┐ ┌────────▼─────────┐
│ Stockage │ │ Identité & accès │ │ Services Docker │
│ │ │ │ │ │
│ • NVMe → OS │ │ • Authentik (SSO) │ │ • Nextcloud │
│ • SSD → Apps │ │ • Cloudflared │ │ • Jellyfin │
│ • HDD → Data │ │ (tunnel sortant) │ │ • Immich │
│ • HDD → Médias │ │ • Vaultwarden │ │ • Gitea, etc. │
└─────────────────┘ └────────────────────┘ └──────────────────┘
🔧 Infrastructure matérielle
| Composant | Détail |
|---|---|
| Boîtier | Jonsbo N4 |
| CPU | Ryzen 5 5600 |
| RAM | 32 Go DDR4 |
| OS storage | 256 Go NVMe (TrueNAS Scale) |
| Apps/Docker | 2 × 500 Go SSD 2,5″ |
| Données | 2 × 4 To HDD (photos, vidéos, documents) |
| Médias | 1 × 8 To HDD (bibliothèque multimédia) |
| Hyperviseur | TrueNAS Scale (ZFS) |
| Fonctionnement | 24/7 |
Logique d'architecture :
- Séparation stricte OS / Applications / Données
- Isolation logique des workloads
- Stockage critique redondé (pools ZFS dédiés)
- Optimisation des performances (NVMe pour le système, SSD pour les conteneurs)
Approche inspirée des environnements professionnels : segmentation fonctionnelle, limitation des risques, maintenabilité.
🗂️ Stratégie de stockage & sauvegarde
🔐 Données sensibles
- Stockage sur pool ZFS dédié et redondé
- Snapshots réguliers
- Versioning avec politique de conservation maîtrisée
Protection contre la suppression accidentelle et les scénarios ransomware.
☁️ Sauvegarde cloud hybride
Synchronisation chiffrée de 2 To vers pCloud (abonnement « à vie »).
Objectifs :
- Protection contre un sinistre matériel
- Résilience face au ransomware
- Stratégie 3-2-1 adaptée à un environnement personnel
Les données critiques ne dépendent jamais exclusivement du cloud. Les sauvegardes distantes sont versionnées afin de limiter l'impact d'une compromission ou d'un chiffrement malveillant.
Détails dans docs/storage-and-backup-strategy.md.
🐳 Écosystème applicatif auto-hébergé
| Service | Rôle |
|---|---|
| Nextcloud | Cloud personnel |
| Jellyfin | Streaming local |
| Immich | Gestion photos intelligente |
| Authentik | SSO & gestion centralisée des identités |
| Vaultwarden | Gestionnaire de mots de passe |
| Cloudflared | Tunnel sortant sécurisé |
| Nginx Proxy Manager | Reverse proxy & TLS |
| Gitea | Gestion de code |
| Portainer | Administration Docker |
| ONLYOFFICE | Suite bureautique collaborative |
| Synapse | Serveur Matrix (messagerie décentralisée) |
| Sonarr / Radarr / Prowlarr | Indexation & gestion médias |
| Deluge + Gluetun | Téléchargement cloisonné via VPN |
🛡️ Sécurité & architecture Zero-Trust
🌍 Aucun port exposé
- Pas d'ouverture WAN directe
- Accès distant exclusivement via tunnel sortant chiffré (Cloudflared)
- HTTPS natif de bout en bout
- Réduction drastique de la surface d'attaque
🔐 Gestion des identités centralisée (Authentik)
- SSO
- MFA
- Segmentation des accès
- Politique de moindre privilège
🐳 Isolation des services
- Conteneurisation systématique
- Séparation réseau interne
- Reverse proxy centralisé (Nginx Proxy Manager)
- Cloisonnement des applications sensibles
🔍 Protection des flux sensibles
- VPN dédié pour certains conteneurs (Gluetun)
- Journalisation et surveillance des logs
- Mises à jour régulières
Détails dans docs/security-policy.md.
🎯 Modèle de menace
| Risque | Mitigation principale |
|---|---|
| Défaillance matérielle | Pools ZFS redondés, sauvegarde externalisée |
| Erreur humaine / suppression accidentelle | Snapshots réguliers, versioning |
| Ransomware | Snapshots immuables, sauvegarde hors-site, versioning cloud |
| Exposition Internet involontaire | Zéro port ouvert, tunnel sortant uniquement |
| Compromission d'identifiants | SSO + MFA via Authentik |
| Fuite de données sensibles | Segmentation réseau, isolation par conteneur |
Détail complet dans docs/threat-model.md.
📊 Approche résilience & continuité
- Snapshots réguliers (politique de rétention documentée)
- Sauvegarde distante externalisée (pCloud, 2 To, chiffrée)
- Séparation données critiques / médias
- Restauration granulaire possible
- Documentation d'architecture tenue à jour
Objectif : réduire le RPO/RTO même dans un contexte personnel.
📁 Contenu du dépôt
truenas-project/
│
├── readme.md # Ce fichier
│
├── docs/
│ ├── architecture.md # Schémas et choix d'architecture détaillés
│ ├── storage-and-backup-strategy.md # Pools ZFS, snapshots, stratégie 3-2-1
│ ├── security-policy.md # Politique de sécurité Zero-Trust
│ └── threat-model.md # Modèle de menace détaillé
│
├── configs/
│ ├── docker-compose/
│ │ └── docker-compose.yml.example # Template anonymisé (sans secrets)
│ ├── cloudflared/
│ │ └── config.yml.example # Template de tunnel sortant
│ ├── nginx-proxy-manager/
│ │ └── notes.md # Bonnes pratiques de configuration
│ └── backup/
│ └── pcloud-sync.sh.example # Script de synchro chiffrée (template)
│
└── screenshots/
├── 1.png # Dashboard
├── 2.png # Liste des apps Truenas (docker)
└── 3.png # Liste non exhaustive (bug affichage GUI) des dockers
🧠 Compétences illustrées
Stockage & résilience
- Administration TrueNAS Scale / ZFS (pools, snapshots, versioning)
- Conception d'une stratégie de sauvegarde 3-2-1 hybride
- Planification RPO/RTO
Cybersécurité
- Architecture Zero-Trust appliquée (aucun port exposé, tunnel sortant uniquement)
- Gestion centralisée des identités (SSO/MFA via Authentik)
- Cloisonnement réseau et isolation par conteneur
- Réduction de la surface d'attaque
Administration système
- Conteneurisation (Docker/Portainer)
- Reverse proxy & TLS (Nginx Proxy Manager)
- Auto-hébergement d'une suite applicative complète (cloud, médias, identité, code)
⚠️ Sécurité du dépôt
Ce dépôt est public. Aucune clé privée, mot de passe, adresse IP réelle ou information sensible n'est commitée. Les fichiers de configuration sont systématiquement anonymisés ou fournis sous forme de templates.
📌 À propos
Projet personnel en évolution continue, utilisé comme plateforme d'apprentissage, d'expérimentation et de montée en compétences en ingénierie cybersécurité et architecture système.
Infrastructure opérationnelle — évolutions régulières selon les services ajoutés et les retours d'expérience.