commit 701b19a28ec5ce6376897ac6e910b9fe4ebfcbad Author: Hermes Agent Date: Mon Apr 20 18:07:35 2026 +0000 Initial documentation - Homelab Inventory 2026 diff --git a/README.md b/README.md new file mode 100644 index 0000000..d3e787a --- /dev/null +++ b/README.md @@ -0,0 +1,139 @@ +# Documentation Homelab + +## 📊 Schéma Architecture et Réseau + +```mermaid +graph TD + subgraph Internet + WAN[Internet] + end + + subgraph "Réseau Local (192.168.1.0/24)" + Router[Passerelle/Router 192.168.1.1] + Switch[Switch Aménageable] + end + + subgraph "Machine Unraid (192.168.1.10)" + direction TB + Bond0_U[Bond0: eth0+eth1] + ZFS_C[ZFS Cache: AppData] + Array[Unraid Array: 18TB Storage] + + subgraph "Services Docker (Unraid)" + Plex[Plex Media Server] + Arr[Stack Arr: Sonarr/Radarr/...] + Gitea[Gitea Git Server] + Frigate[Frigate CCTV] + end + + HA[VM: Home Assistant] -.- HA_IP[192.168.1.147] + Tailscale[Tailscale VPN] ---- WAN + end + + subgraph "Machine Proxmox (192.168.1.11)" + direction TB + Bond0_P[Bond0: eno1-eno4] + TankZFS[ZFS Tank: 30TB Pool] + SSD_Pool[ZFS TankSSD: VM Storage] + ILO[Interface iLO] + + subgraph "AI Cluster (LXC/VM)" + OUI[Open WebUI] + H3[Hermes 3] + DAI[Debian AI VM] + end + + subgraph "Infrastructure (LXC)" + N8N[n8n Automation] + Immich[Immich Photos] + Nextcloud[OpenCloud] + end + end + + %% Connexions + WAN --- Router + Router --- Switch + Switch === Bond0_U + Switch === Bond0_P + Switch --- ILO + + %% Backup Path + Bond0_P -.->|PBS Backup| Plex + HA --- Switch + + classDef server fill:#2d3436,stroke:#00cec9,stroke-width:2px,color:#fff; + classDef storage fill:#2d3436,stroke:#fab1a0,stroke-width:1px,color:#fff; + classDef mgmt fill:#2d3436,stroke:#ffeaa7,stroke-width:2px,color:#fff; + class Unraid,Proxmox server; + class Array,TankZFS,SSD_Pool storage; + class ILO mgmt; +``` + +--- + +## Vue d'Ensemble +Mon infrastructure homelab est composée de deux serveurs principaux dédiés au stockage, à la domotique, à la gestion des médias et à l'expérimentation d'IA. + +--- + +## 🏗️ Hardware Matrix + +| Serveur | IP | iLO/IPMI | CPU | RAM | Rôle Principal | +| :--- | :--- | :--- | :--- | :--- | :--- | +| **Unraid** | `192.168.1.10` | N/A | Xeon E5-2678 v3 (12C/24T) | 64 GB | Stockage (NAS), Médias, Domotique | +| **Proxmox** | `192.168.1.11` | `192.168.1.225` | Xeon E5-2680 v4 (14C/28T) | 208 GB | Virtualisation High-Density, IA, Labs | + +--- + +## 🚀 Services & Workloads + +### [Unraid (192.168.1.10)](inventory/unraid.md) +* **Domotique** : Home Assistant (VM) - `192.168.1.147` +* **Media Stack** : Plex, Sonarr, Radarr, Prowlarr, Bazarr, Overseerr, Tautulli +* **CCTV** : Frigate +* **Dev/Data** : Gitea, MariaDB, Postgres, Redis, InfluxDB +* **Admin** : Proxmox Backup Server, UrBackup, Speedtest-tracker + +### [Proxmox (192.168.1.11)](inventory/proxmox.md) +* **Intelligence Artificielle** : Open WebUI (`192.168.1.209`), Immich (`192.168.1.164`), Debian-AI +* **Automation/Tools** : n8n (`192.168.1.173`), ChangeDetection (`192.168.1.113`), Nexterm (`192.168.1.195`) +* **Stockage Cloud** : OpenCloud (`192.168.1.184`) +* **Laboratoires** : Templates Ubuntu, Fedora, RockyOS, Win10-Gaming + +--- + +## 📋 Dashboard des Services (Liens Rapides) + +| Service | URL | Serveur | Description | +| :--- | :--- | :--- | :--- | +| **Plex** | [http://192.168.1.10:32400/web](http://192.168.1.10:32400/web) | Unraid | Serveur Media | +| **Open WebUI** | [http://192.168.1.209](http://192.168.1.209) | Proxmox (LXC) | Interface IA / ChatGPT local | +| **Immich** | [http://192.168.1.164](http://192.168.1.164) | Proxmox (LXC) | Photos Self-hosted | +| **Home Assistant** | [http://192.168.1.147:8123](http://192.168.1.147:8123) | Unraid (VM) | Domotique | +| **Overseerr** | [http://192.168.1.10:5055](http://192.168.1.10:5055) | Unraid | Demandes de médias | +| **n8n** | [http://192.168.1.173](http://192.168.1.173) | Proxmox (LXC) | Automation Workflow | +| **Nexterm** | [http://192.168.1.195](http://192.168.1.195) | Proxmox (LXC) | Gestion Terminaux SSH | +| **Gitea** | [http://192.168.1.10:3006](http://192.168.1.10:3006) | Unraid | Git Server | +| **Sonarr** | [http://192.168.1.10:8989](http://192.168.1.10:8989) | Unraid | Gestion Séries | +| **Radarr** | [http://192.168.1.10:7878](http://192.168.1.10:7878) | Unraid | Gestion Films | +| **Speedtest** | [http://192.168.1.10:8769](http://192.168.1.10:8769) | Unraid | Suivi connexion Internet | +| **Tautulli** | [http://192.168.1.10:8181](http://192.168.1.10:8181) | Unraid | Monitoring Plex | +| **Proxmox Web UI** | [https://192.168.1.11:8006](https://192.168.1.11:8006) | Proxmox | Management des VMs/LXCs | + +--- + +## 🖨️ Périphériques Réseau & Infrastructure + +| Équipement | IP | Type | Description | +| :--- | :--- | :--- | :--- | +| **Routeur / Gateway** | `192.168.1.1` | Réseau | Administration Réseau | +| **Routeur/VPN Secondaire** | `192.168.1.2` | Réseau | Serveur VPN/Wireguard | +| **Serveur Proxmox (iLO)** | `192.168.1.225` | Management | Interface HP iLO (ILOCZ272502MF) | +| **HP LaserJet M426fdn** | `192.168.1.101` | Périphérique | Imprimante Multifonction | +| **Raspberry Pi (AdGuard)** | `192.168.1.208` | DNS | Pi-Hole / AdGuard Home | +| **Raspberry Pi (Lab)** | `192.168.1.162` | Lab | Accès SSH / Développement | +| **Caméra IP (RTSP)** | `192.168.1.230` | IoT/CCTV | Caméra de surveillance | +| **Module Tasmota** | `192.168.1.206` | IoT | Prise/Interrupteur intelligent (ESP8266) | + +--- +*Dernière mise à jour : 20 avril 2026* diff --git a/inventory/proxmox.md b/inventory/proxmox.md new file mode 100644 index 0000000..83b1a6c --- /dev/null +++ b/inventory/proxmox.md @@ -0,0 +1,125 @@ +# Serveur Proxmox VE - `192.168.1.11` + +## 🎯 Identification +* **Hostname** : `proxmox` +* **OS** : Proxmox VE 9.1.4 (Kernel 6.17.4-2-pve) +* **IP Locale** : `192.168.1.11` +* **iLO (HP)** : `192.168.1.225` +* **Utilisateurs** : `root`, `scriptadmin` + +--- + +## 🖥️ Spécifications Matérielles + +### CPU +* **Modèle** : 2x Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz +* **Cœurs Totaux** : **28 Cores / 56 Threads** (Dual Socket) +* **Cache L3** : 70 MiB (2 instances) +* **Virtualisation** : VT-x +* **Topologie NUMA** : + * **Node 0** : CPU 0-13, 28-41 + * **Node 1** : CPU 14-27, 42-55 + +### RAM +* **Totale** : **204 Go** (214,428,280 kB) +* **Disponible** : ~150 Go +* **Utilisée** : ~60 Go +* **Type** : DDR4 ECC Registered + +--- + +## 💾 Stockage & Pools ZFS + +### Pool `tank` (Stockage Haute Capacité) +* **Type** : Double RAIDZ1 (2 vdevs) +* **Disques** : + * **RAIDZ1-0** : 4x Seagate 4TB (`wwn-0x5000c500952313f7`...) + * **RAIDZ1-1** : 4x Seagate 4TB (`wwn-0x5000cca05cd6f4c0`...) +* **Capacité Totale** : ~32 To +* **Special Device** : 1x Disque SSD 233 Go (Métadonnées) +* **Logs** : 1x Partition SSD 166 Go (ZIL) +* **Cache** : 1x Partition SSD 100 Go (L2ARC) +* **Usage** : 4.57% (10.6 To utilisés sur 23 To) + +### Pool `tankssd` (Stockage Haute Performance) +* **Type** : Double Mirror +* **Composition** : + * **Mirror 0** : 2x PNY 500GB (`/dev/sdc`, `/dev/sde`) + * **Mirror 1** : PNY 500GB + Samsung 870 EVO 500GB (`/dev/sdd`, `/dev/sdf`) +* **Capacité Totale** : ~928 Go +* **Usage** : 63.14% (~600 Go utilisés) +* **Usage** : VM, LXC haute performance (Immich, Open WebUI, AI) + +### Pools Proxmox Standards +| Nom | Type | Usage | +| :--- | :--- | :--- | +| **PoolHDD** | ZFS | Containers & VMs secondaires | +| **UnraidPBS** | PBS | Backups vers Unraid (90% plein !) | +| **local** | Dir | ISO et Templates locaux | + +--- + +## 🐧 Conteneurs LXC (Services) + +| VMID | Nom | Status | vCPU | RAM | Pool | Firewall | Description | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| **101** | **openwebui** | 🏁 Running | 4 | 8 GB | tankssd | ❌ | Interface IA / ChatGPT local | +| **102** | **changedetection** | 🏁 Running | 4 | 4 GB | PoolHDD | ❌ | Surveillance de pages web | +| **103** | **hermes-dev** | 🏁 Running | 4 | 2 GB | tankssd | ✅ | Développement Hermes | +| **104** | **pangolin** | 🏁 Running | 1 | 1 GB | PoolHDD | ✅ | Proxy / SOCKS5 ? | +| **105** | **hermes3** | 🏁 Running | 2 | 2 GB | tankssd | ✅ | Lab IA Hermes | +| **106** | **Nexterm** | 🏁 Running | 2 | 2 GB | PoolHDD | ❌ | Terminal Web | +| **107** | **karakeep** | 🏁 Running | 2 | 4 GB | PoolHDD | ❌ | Gestionnaire de mots de passe | +| **108** | **n8n** | 🏁 Running | 2 | 2 GB | tankssd | ❌ | Automatisation (No-Code) | +| **110** | **opencloud** | 🏁 Running | 2 | 2 GB | tankssd | ❌ | Cloud Storage (Nextcloud) | +| **115** | **immich** | 🏁 Running | 4 | 16 GB | tankssd | ❌ | Photos Self-hosted | +| **100** | **cockpit** | 🛑 Stopped | 2 | 1 GB | PoolHDD | ❌ | Admin Linux | +| **114** | **reitti** | 🛑 Stopped | 2 | 4 GB | tankssd | ❌ | Outils Transit | +| **122** | **pgadmin4** | 🛑 Stopped | 1 | 512 MB | PoolHDD | ✅ | Admin PostgreSQL | + +### Adresses IP Connues (LXC) +| Nom | IP | +| :--- | :--- | +| Open WebUI | `192.168.1.209` | +| ChangeDetection | `192.168.1.113` | +| Hermes-dev | `192.168.1.189` | +| Pangolin | `192.168.1.146` | +| Hermes 3 | `192.168.1.174` | +| Nexterm | `192.168.1.195` | +| Karakeep | `192.168.1.145` | +| N8N | `192.168.1.173` | +| OpenCloud | `192.168.1.184` | +| Immich | `192.168.1.164` | + +--- + +## 🖥️ Machines Virtuelles (QEMU) + +| VMID | Nom | Status | vCPU | RAM | Pool | Machine | Description | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| **997** | **Debian-AI** | 🏁 Running | 8 | 16 GB | tankssd | Q35 | Lab IA (250GB SSD) | +| **118** | **WinVPN** | 🛑 Stopped | 6 | 8 GB | PoolHDD | OVMF | Windows VPN Client (64GB) | +| **314** | **TechnoTim** | 🛑 Stopped | 16 | 36 GB | PoolHDD | Q35 | Lab lourd (400GB SSD) | +| **999** | **Win10-Gaming** | 🛑 Stopped | 12 | 16 GB | tankssd | Q35 | Gaming (GPU Passthrough?) (250GB SSD) | +| **9000** | **Ubuntu-24.04** | 📁 Template | 2 | 2 GB | PoolHDD | PC-Q35 | Template Ubuntu LTS | +| **9001** | **Fedora-42** | 📁 Template | 4 | 8 GB | PoolHDD | OVMF | Template Fedora | +| **9002** | **RockyOS** | 📁 Template | 4 | 8 GB | PoolHDD | PC-Q35 | Template Rocky Linux | +| **9003** | **Ubuntu-docker** | 📁 Template | 8 | 8 GB | PoolHDD | Q35 | Template Docker | + +--- + +## 🌐 Réseau + +### Configuration +* **Interface Principale** : `vmbr0` (Bridge) +* **Bonding** : `bond0` (Master) utilisant **4 interfaces** (`eno1`, `eno2`, `eno3`, `eno4`) +* **IP** : `192.168.1.11/24` +* **Passerelle** : `192.168.1.1` + +### Segmentation (Firewall) +* **Pangolin (104)** : Firewall activé (Probable Proxy/Firewall) +* **Hermes-dev (103)** : Firewall activé +* **Hermes3 (105)** : Firewall activé +* **WinVPN (118)** : Firewall activé +* **TechnoTim (314)** : Firewall activé +* **PgAdmin4 (122)** : Firewall activé diff --git a/inventory/unraid.md b/inventory/unraid.md new file mode 100644 index 0000000..4fd0db1 --- /dev/null +++ b/inventory/unraid.md @@ -0,0 +1,158 @@ +# Serveur Unraid (HomeNAS) - `192.168.1.10` + +## 🎯 Identification +* **Hostname** : `HomeNAS` +* **OS** : Unraid 7.2.4 +* **Kernel** : `6.12.54-Unraid` +* **Uptime** : 11 jours +* **IP Locale** : `192.168.1.10` +* **Tailscale IP** : `100.120.250.88` + +--- + +## 🖥️ Spécifications Matérielles + +### CPU +* **Modèle** : Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz +* **Cœurs** : 12 Cores / 24 Threads +* **Cache L3** : 30 MiB +* **Virtualisation** : VT-x (Activation: Yes) +* **Charge Actuelle** : ~3.00 (Load Average: 2.96, 2.18, 2.17) + +### RAM +* **Totale** : 64 Go (65757 MB) +* **Disponible** : 38 Go (38276 MB) +* **Utilisée** : ~26 Go +* **Type** : DDR4 (8GB modules @ 2667 MT/s) + +--- + +## 💾 Stockage & Array + +### Configuration Disque (Unraid Array) +L'array est configuré en mode "Single Parity" avec 5 disques de données. + +| Position | Disque | Modèle | Capacité | Statut | +| :--- | :--- | :--- | :--- | :--- | +| **Parité** | - | - | - | (Non montée/Présente) | +| **Disk 1** | `/dev/sdi` | HGST HUS724030ALA640 | 3 To | 🟢 OK | +| **Disk 2** | `/dev/sdd` | ST33000651NS | 3 To | 🟢 OK | +| **Disk 3** | `/dev/sdf` | ST33000651NS | 3 To | 🟢 OK | +| **Disk 4** | `/dev/sdg` | HGST HUS724030ALA640 | 3 To | 🟢 OK | +| **Disk 5** | `/dev/sdh` | HGST HUS724030ALA640 | 3 To | 🟢 OK | +| **Disk 6** | `/dev/sdj` | HGST HUS724030ALA640 | 3 To | 🟢 OK | + +**Note** : 2 slots supplémentaires sont vides pour expansion. + +### Cache & SSD +* **NVMe Cache** (`/mnt/cache`) : + * **Modèle** : PNY CS3030 500GB SSD + * **Montage** : BTRFS sur `/mnt/cache` +* **ZFS Cache Pool** (`zfs_cache`) : + * **Composition** : Mirror de 2 SSD (Crucial CT240BX500SSD1 - `/dev/sdc` & `/dev/sde`) + * **Usage** : Stockage des données des machines virtuelles (appdata, domains) + * **Taille** : ~420 Go alloués + +### Arborescence des Partages (`/mnt/user/`) +* **Backup** : Sauvegardes diverses +* **Divers** : Fichiers temporaires/mélangés +* **Download** : Répertoire de téléchargement (qBittorrent/Download) +* **Media** : Musique, Films, Documents +* **Nextcloud** : Données pour le cloud (Nextcloud) +* **Reolink** : Enregistrements CCTV +* **Workspace** : Projets et fichiers de travail +* **domains** : Configuration des domaines web +* **isos** : Images disque/vm +* **pbs_backup** : Backups Proxmox + +--- + +## 🐳 Conteneurs Docker (Services) +* **Stack Média (Arr)** : + * `sonarr` (9989) + * `radarr` (7878) + * `bazarr-1` (6767) + * `prowlarr` (9696) + * `overseerr` (5055) - *Demandes Médias* + * `tautulli` (8181) - *Monitoring Plex* + * `rflood` - *Frontend Flood* + * `recyclarr` - *Sync Trakt/Radarr* + * `dispatcharr` - *Notification/Dispatch* + * `cleanuparr` - *Nettoyage automatique* + * `recommendarr` - *Recommandations* + +* **Serveur Média** : + * `plex` (32400) + * `bbergle-jellyfin` - *Instance Jellyfin secondaire ?* + +* **Automatisation & Monitoring** : + * `influxdb` (8083, 8086) - *Base de données Time-series* + * `newt` (2112) - *Monitoring?* + +* **Infrastructure** : + * `mariadb` (3306) + * `postgres11` (5432) + * `redis` (6379) + * `phpmyadmin` - *Admin DB* + +* **Sécurité & Administration** : + * `gitea` (3006, SSH 222) + * `proxmox-backup-server` - *Sauvegarde VMs* + * `urbackup` - *Sauvegarde système* + * `ddns-updater` (8000) + * `speedtest-tracker` (8769) + +* **CCTV** : + * `frigate` (5000, 8554-8555 RTSP, 8971) - *Analyse Vidéo* + +* **IoT & Domotique** : + * `Home Assistant` (VM - IP: 192.168.1.147) + +* **Accès à Distance** : + * `tailscale` - *VPN Wireguard* + +* **Développement** : + * `nexterm` (8580) - *Terminal Web* + * `firefox` (8580) - *Browser Headless* + +* **Cloud** : + * `nextcloud` (Non démarré) - *Stockage Cloud* + +--- + +## 🖴 Machines Virtuelles + +### Home Assistant +* **ID** : 1 +* **Statut** : Running +* **vCPU** : 4 +* **RAM** : 2 Go (2097152 KiB) +* **IP Connue** : `192.168.1.147` +* **Autostart** : Enabled +* **Sécurité** : None (Raw) + +--- + +## 🌐 Réseau + +### Configuration +* **Interface Principale** : `br0` (Bridge) +* **Bonding** : `bond0` (Master) utilisant `eth1` (UP) et `eth0` (DOWN/NO-CARRIER) +* **IP** : `192.168.1.10/24` +* **Passerelle** : `192.168.1.1` +* **Tunnel VPN** : + * **Tailscale** (`tailscale1`) : `100.120.250.88` + +### Appareils Connectés (Tailscale) +| Appareil | Plateforme | Status | +| :--- | :--- | :--- | +| `192` | macOS | Offline | +| `gl-mt6000` | Linux (GL.iNet) | Offline | +| `google-pixel-6` | Android | Offline | +| `macbook-pro` | macOS | Offline | + +--- + +## 🛠️ Notes Techniques +* **USB Boot** : Le système démarre sur une clé USB (`sda` - USB DISK 2.0). +* **Vulnérabilités CPU** : Multiples mitigations actives (Meltdown, Spectre v1/v2, etc.) - Normal pour un ancien Xeon.