# Home Lab Network Architecture Diagrams ## Current Infrastructure State (As-Is) ``` ┌─────────────────────────────────────────────────────────────┐ │ CURRENT NETWORK TOPOLOGY │ │ 192.168.50.0/24 │ └─────────────────────────────────────────────────────────────┘ │ ┌─────────┴─────────┐ │ Router/Gateway │ │ 192.168.50.1 │ └─────────┬─────────┘ │ ┌─────────────────────┼─────────────────────┐ │ │ │ ┌───────▼────────┐ ┌────────▼────────┐ ┌───────▼────────┐ │ TAILSCALE │ │ LOCAL NETWORK │ │ INTERNET │ │ MESH VPN │ │ ETHERNET/WiFi │ │ CONNECTION │ │ │ │ │ │ │ └────────────────┘ └─────────────────┘ └────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ DEVICE LAYOUT │ └─────────────────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ OMV800 │ │ FEDORA │ │ LENOVO420 │ │ LENOVO │ │ (Primary NAS) │ │ (Workstation) │ │ (Secondary) │ │ (Workstation) │ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ │ IP: .229/112 │ │ IP: .28/.21 │ │ IP: .66/.95 │ │ IP: .181/.80 │ │ CPU: i5-6400 │ │ CPU: N95 │ │ CPU: i5-2520M │ │ CPU: i5 M540 │ │ RAM: 31GB │ │ RAM: 15GB │ │ RAM: 15GB │ │ RAM: 7.6GB │ │ OS: Debian 12 │ │ OS: Fedora 42 │ │ OS: Ubuntu 24 │ │ OS: Ubuntu 24 │ │ │ │ │ │ │ │ │ │ ⚠️ OVERLOADED │ │ ✅ UNDERUSED │ │ ✅ BALANCED │ │ ⚠️ OVERLOADED │ │ 19 CONTAINERS │ │ 1 CONTAINER │ │ 7 CONTAINERS │ │ 15 CONTAINERS │ │ │ │ │ │ │ │ │ │ • Immich │ │ • Portainer │ │ • Portainer │ │ • Home Assist │ │ • Jellyfin │ │ Agent │ │ Agent │ │ • ESPHome │ │ • Nextcloud │ │ │ │ • DuckDNS │ │ • N8N │ │ • Paperless │ │ │ │ • OpenWakeWord │ │ • Paperless │ │ • PostgreSQL │ │ │ │ • Whisper │ │ • MariaDB │ │ • Redis │ │ │ │ • Mosquitto │ │ • Redis │ │ • Vikunja │ │ │ │ • Omni-tools │ │ • Music Assist │ │ • Joplin │ │ │ │ • Filebrowser │ │ • Homeway │ │ • Caddy │ │ │ │ • Watchtower │ │ • Z-Wave JS UI │ │ • + 10 more... │ │ │ │ │ │ • + 6 more... │ └─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ SURFACE │ │ OMVBACKUP │ │ COMPROMISED │ │ AUDREY │ │ (Portable) │ │ (Backup RPi) │ │ DEVICE │ │ (Offline RPi) │ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ │ IP: .254/.97 │ │ IP: .107 │ │ IP: .81 │ │ IP: .45 │ │ CPU: i5-6300U │ │ CPU: ARM A72 │ │ MAC: cc:f7:35 │ │ Status: OFFLINE │ │ RAM: 7.7GB │ │ RAM: 906MB │ │ ❌ BLOCKED │ │ ❌ ISSUES │ │ OS: Ubuntu 24 │ │ OS: Debian 12 │ │ Amazon Device │ │ │ │ │ │ │ │ │ │ │ │ ✅ SPECIALIZED │ │ ✅ STORAGE ONLY │ │ 🚨 MALWARE │ │ │ │ 9 CONTAINERS │ │ 0 CONTAINERS │ │ DETECTED │ │ │ │ │ │ │ │ │ │ │ │ • AppFlowy │ │ • NFS Exports │ │ • Porn sites │ │ │ │ Cloud Stack │ │ • Backup Store │ │ • Malware DL │ │ │ │ • PostgreSQL │ │ • 7.3TB RAID │ │ • Firewall │ │ │ │ • Redis │ │ │ │ BLOCKED │ │ │ │ • Minio │ │ │ │ │ │ │ │ • Nginx │ │ │ │ │ │ │ │ • + 5 more... │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ STORAGE TOPOLOGY │ └─────────────────────────────────────────────────────────────────────────────────────────┘ OMV800 Storage Pool OMVBackup Storage ┌─────────────────────┐ ┌─────────────────────┐ │ Primary Storage │ ←── Replication ──→ │ Backup Repository │ │ • 17TB DataPool │ (Real-time) │ • 7.3TB RAID Array │ │ • 456GB System SSD │ │ • Automated Backup │ │ • MergerFS Pool │ │ • NFS/SMB Exports │ │ • Multiple Drives │ │ • Redundancy Store │ └─────────────────────┘ └─────────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ NETWORK TRAFFIC FLOWS │ └─────────────────────────────────────────────────────────────────────────────────────────┘ Internet ←→ Router ←→ Local Network ↓ ┌───────────────┐ │ High Traffic │ │ • Media │ ←── OMV800 (Jellyfin, Immich) │ • Backups │ ←── All devices → OMVBackup │ • IoT Data │ ←── Lenovo (Home Assistant) └───────────────┘ ↓ ┌───────────────┐ │ Medium Traffic │ │ • Web Apps │ ←── Fedora, Surface │ • Databases │ ←── Cross-device queries │ • Monitoring│ ←── All devices └───────────────┘ ``` ## Proposed Optimized Architecture (To-Be) ``` ┌─────────────────────────────────────────────────────────────┐ │ OPTIMIZED NETWORK TOPOLOGY │ │ Segmented VLANs + High Availability │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────┐ │ Core Router │ │ 192.168.50.1 │ │ + VLAN Support │ └─────────┬───────┘ │ ┌─────────────────────────┼─────────────────────────┐ │ │ │ ┌───────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ VLAN 10 │ │ VLAN 20 │ │ VLAN 30 │ │ Core Services │ │ IoT & Smart │ │ Backup & │ │ .10.0/24 │ │ Home .20.0/24 │ │ Storage .30.0/24│ └────────────────┘ └─────────────────┘ └─────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ TIER-BASED SERVICE DISTRIBUTION │ └─────────────────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────┐ │ TIER 1: CORE │ │ High Availability │ └─────────────────────────────────┘ ┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐ │ OMV800 │ │ FEDORA │ │ Primary Storage Hub │ │ Application Server │ ├─────────────────────────────────────┤ ├─────────────────────────────────────┤ │ VLAN: 10.229 | Tailscale: 112 │ │ VLAN: 10.28 | Tailscale: .21 │ │ CPU: i5-6400 (4c) | RAM: 31GB │ │ CPU: N95 (4c) | RAM: 15GB │ │ Role: Centralized Storage + Media │ │ Role: Compute + Development │ │ │ │ │ │ ✅ OPTIMIZED CONTAINERS (8-10): │ │ ✅ OPTIMIZED CONTAINERS (6-8): │ │ ┌─────────────────────────────────┐ │ │ ┌─────────────────────────────────┐ │ │ │ 📸 Immich (Photo Management) │ │ │ │ 🏠 Home Assistant (Smart Home) │ │ │ │ 🎬 Jellyfin (Media Server) │ │ │ │ ⚙️ N8N (Automation Workflows) │ │ │ │ ☁️ Nextcloud (File Sync) │ │ │ │ 📄 Paperless-NGX (Documents) │ │ │ │ 🗄️ MariaDB (Database Hub) │ │ │ │ 🔌 ESPHome (IoT Management) │ │ │ │ ⚡ Redis (Caching Layer) │ │ │ │ 💻 Code-Server (Development) │ │ │ │ 🌐 Caddy (Reverse Proxy) │ │ │ │ 📊 Monitoring (Prometheus) │ │ │ │ 🔄 Watchtower (Auto-updates) │ │ │ │ 📈 Grafana (Dashboards) │ │ │ │ 🐳 Portainer (Management) │ │ │ │ │ │ │ └─────────────────────────────────┘ │ │ └─────────────────────────────────┘ │ │ │ │ │ │ 💾 STORAGE OPTIMIZATION: │ │ 🎯 COMPUTE OPTIMIZATION: │ │ • 17TB: Media & Photos │ │ • CPU-intensive applications │ │ • 456GB SSD: Databases │ │ • Development environments │ │ • Real-time backup to OMVBackup │ │ • Monitoring & automation │ └─────────────────────────────────────┘ └─────────────────────────────────────┘ ┌─────────────────────────────────┐ │ TIER 2: SPECIALIZED │ │ Medium Priority │ └─────────────────────────────────┘ ┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐ │ LENOVO420 │ │ SURFACE │ │ Backup & Monitoring │ │ Mobile & Cloud Services │ ├─────────────────────────────────────┤ ├─────────────────────────────────────┤ │ VLAN: 30.66 | Tailscale: .95 │ │ VLAN: 10.254 | Tailscale: .97 │ │ CPU: i5-2520M (4c) | RAM: 15GB │ │ CPU: i5-6300U (4c) | RAM: 7.7GB │ │ Role: Backup Orchestration │ │ Role: Personal Productivity │ │ │ │ │ │ ✅ OPTIMIZED CONTAINERS (5-7): │ │ ✅ OPTIMIZED CONTAINERS (4-6): │ │ ┌─────────────────────────────────┐ │ │ ┌─────────────────────────────────┐ │ │ │ 🐳 Portainer Agent (Cluster) │ │ │ │ 📝 AppFlowy Cloud (Workspace) │ │ │ │ 💾 Backup Orchestration │ │ │ │ 🔐 VPN Server (Remote Access) │ │ │ │ 📊 Uptime Kuma (Monitoring) │ │ │ │ 🔑 Vaultwarden (Passwords) │ │ │ │ 🗨️ MQTT Broker (IoT Comms) │ │ │ │ 🔄 Syncthing (File Sync) │ │ │ │ 📹 Frigate (Security Cameras) │ │ │ │ 🌐 Lightweight Web Services │ │ │ │ 🛡️ Secondary Databases │ │ │ │ │ │ │ └─────────────────────────────────┘ │ │ └─────────────────────────────────┘ │ │ │ │ │ │ 🎯 BACKUP OPTIMIZATION: │ │ 🎯 MOBILITY OPTIMIZATION: │ │ • Centralized backup coordination │ │ • Personal productivity tools │ │ • Disaster recovery planning │ │ • Remote access capabilities │ │ • Security monitoring │ │ • Portable service deployment │ └─────────────────────────────────────┘ └─────────────────────────────────────┘ ┌─────────────────────────────────┐ │ TIER 3: SUPPORT │ │ Specialized Functions │ └─────────────────────────────────┘ ┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐ │ LENOVO │ │ OMVBACKUP │ │ IoT & Smart Home Hub │ │ Backup Repository │ ├─────────────────────────────────────┤ ├─────────────────────────────────────┤ │ VLAN: 20.181 | Tailscale: .80 │ │ VLAN: 30.107 | Physical only │ │ CPU: i5 M540 (4c) | RAM: 7.6GB │ │ CPU: ARM A72 (4c) | RAM: 906MB │ │ Role: Real-time IoT Processing │ │ Role: Data Safety & Recovery │ │ │ │ │ │ ✅ OPTIMIZED CONTAINERS (6-8): │ │ ✅ STORAGE SERVICES: │ │ ┌─────────────────────────────────┐ │ │ ┌─────────────────────────────────┐ │ │ │ 🌊 Z-Wave JS UI (Z-Wave) │ │ │ │ 💾 7.3TB RAID Array │ │ │ │ 🐝 Zigbee2MQTT (Zigbee) │ │ │ │ 📂 NFS/SMB Export Services │ │ │ │ 🎵 Music Assistant (Audio) │ │ │ │ 🔄 Real-time Backup Scripts │ │ │ │ 🎤 OpenWakeWord (Voice AI) │ │ │ │ ✅ Data Integrity Monitoring │ │ │ │ 🔗 Node-RED (IoT Automation) │ │ │ │ 📊 Basic Web Management │ │ │ │ 📊 InfluxDB (Time Series) │ │ │ │ 🛡️ Backup Verification │ │ │ │ 🗨️ Mosquitto MQTT │ │ │ │ │ │ │ └─────────────────────────────────┘ │ │ └─────────────────────────────────┘ │ │ │ │ │ │ 🎯 IOT OPTIMIZATION: │ │ 🎯 STORAGE OPTIMIZATION: │ │ • Low-latency device response │ │ • Continuous data protection │ │ • Real-time automation │ │ • Automated backup verification │ │ • Voice processing & AI │ │ • Disaster recovery ready │ └─────────────────────────────────────┘ └─────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ HIGH AVAILABILITY DESIGN │ └─────────────────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────┐ │ FAILOVER STRATEGY │ └─────────────────────────────────────────┘ OMV800 (Primary) ↓ ↑ ┌─────────────────────┐ │ Load Balancer │ ←── Caddy/HAProxy │ (Caddy HA) │ └─────────┬───────────┘ ↓ ┌─────────────────────┐ │ Service Mesh │ │ Discovery │ ←── Consul/etcd └─────────┬───────────┘ ↓ ┌─────────────────┼─────────────────┐ ↓ ↓ ↓ FEDORA (App Tier) LENOVO420 (Backup) SURFACE (Edge) ↓ ↓ ↓ [Auto-failover] [Secondary DBs] [Remote Access] Database Replication Strategy: ┌─────────────────────────────────┐ │ Primary: OMV800 (MariaDB) │ │ ↓ Real-time sync │ │ Secondary: Lenovo420 (Replica) │ │ ↓ Backup sync │ │ Backup: OMVBackup (Cold) │ └─────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ PERFORMANCE METRICS │ └─────────────────────────────────────────────────────────────────────────────────────────┘ 📊 CURRENT vs OPTIMIZED COMPARISON: ┌─────────────────┬─────────────────┬─────────────────┬─────────────────┐ │ METRIC │ CURRENT │ OPTIMIZED │ IMPROVEMENT │ ├─────────────────┼─────────────────┼─────────────────┼─────────────────┤ │ Resource Usage │ 70% avg │ 45% avg │ 35% reduction │ │ Container Density│ Unbalanced │ Optimized │ 40% better │ │ Failover Time │ Manual (hours) │ Auto (30 sec) │ 99.9% faster │ │ Media Response │ 2-5 seconds │ <1 second │ 3x improvement │ │ Backup Speed │ 4 hours │ 1.5 hours │ 62% faster │ │ Network Traffic │ High cross-dev │ Segmented │ 50% reduction │ │ Uptime │ 95% (SPOF) │ 99.9% (HA) │ 5x reliability │ │ Management │ 6 separate UIs │ Centralized │ Single pane │ └─────────────────┴─────────────────┴─────────────────┴─────────────────┘ 🔄 MIGRATION TIMELINE: Week 1: Core Infrastructure ├── Day 1-2: Set up VLAN segmentation ├── Day 3-4: Migrate critical services to OMV800 ├── Day 5-7: Implement Caddy load balancing Week 2: Service Distribution ├── Day 1-3: Move compute services to Fedora ├── Day 4-5: Consolidate IoT services to Lenovo ├── Day 6-7: Set up backup orchestration Week 3: High Availability ├── Day 1-3: Implement database replication ├── Day 4-5: Configure automated failover ├── Day 6-7: Testing and optimization 🎯 SUCCESS METRICS: • ✅ 99.9% service availability • ✅ <30 second failover times • ✅ 50% reduction in manual maintenance • ✅ Centralized monitoring and management • ✅ Improved security with network segmentation ``` ## Security Enhancement Overlay ``` ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │ SECURITY ARCHITECTURE │ └─────────────────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────┐ │ Internet │ │ Threats │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Firewall/IDS │ │ + Threat Intel │ └──────────┬──────────┘ │ ┌────────────────▼────────────────┐ │ VPN Gateway │ │ (WireGuard/Tailscale) │ └────────────────┬────────────────┘ │ ┌────────▼────────┐ │ DMZ Zone │ │ (Surface) │ └────────┬────────┘ │ ┌────────────────────▼────────────────────┐ │ Internal Network │ │ Zero Trust Segmentation │ └─────────────────────────────────────────┘ 🛡️ SECURITY ZONES: ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ ZONE 1: DMZ │ │ ZONE 2: CORE │ │ ZONE 3: BACKUP │ │ (Surface) │ │ (OMV800,Fedora) │ │ (Lenovo420,Pi) │ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ │ • Public facing │ │ • Internal apps │ │ • Data storage │ │ • VPN endpoint │ │ • Databases │ │ • Cold backups │ │ • Rate limited │ │ • Media serving │ │ • Air-gapped │ └─────────────────┘ └─────────────────┘ └─────────────────┘ 🔐 ACCESS CONTROL MATRIX: External Users ────────▶ DMZ Zone Only Trusted Users ────────▶ Core Zone (authenticated) Admin Users ────────▶ All Zones (MFA required) Service-to-Service ─────▶ Encrypted + Cert-based Backup Jobs ────────▶ Dedicated backup network 🚨 MONITORING & ALERTING: [Threat Detection] ──▶ [SIEM Collection] ──▶ [Automated Response] │ │ │ ▼ ▼ ▼ • Network traffic • Centralized logs • Auto-blocking • Failed logins • Security events • Alert notifications • Resource anomalies • Performance metrics • Incident response ```