# 🗄️ 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 ```text ┌──────────────────────────────────┐ │ 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`](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`](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`](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 ```text 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.*