From 45203a4c283c48cb098df1ccd1f977058a2e4cd7 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Wed, 25 Feb 2026 23:27:16 +0000 Subject: [PATCH] feat(*): Enhance example network json --- static/data/network.json | 318 ++++++++++++++++++++++++--------------- 1 file changed, 198 insertions(+), 120 deletions(-) diff --git a/static/data/network.json b/static/data/network.json index a6a6f8c..f704757 100644 --- a/static/data/network.json +++ b/static/data/network.json @@ -5,6 +5,47 @@ "ipAddress": "10.0.0.3", "role": "Hypervisor", "operatingSystem": "Proxmox", + "iconKey": "homarr:proxmox", + "software": { + "vms": [ + { + "name": "OpnSense", + "role": "Router/Firewall/Gateway (DHCP 10.0.0.100-254)", + "ipAddress": "10.0.0.1" + }, + { + "name": "TPLink Omada Controller", + "role": "Network Controller (:8043)", + "ipAddress": "10.0.0.4" + }, + { + "name": "PiVPN (WireGuard)", + "role": "VPN Server", + "ipAddress": "10.0.0.5" + }, + { + "name": "PiHole", + "role": "DNS Ad-blocker (installed, not in active use)", + "ipAddress": "10.0.0.6" + }, + { + "name": "Dashy", + "role": "Dashboard", + "ipAddress": "10.0.0.12" + }, + { + "name": "ProxRouter-Docker", + "role": "Docker host (Nginx reverse proxy, RustDesk, TwinGate)", + "ipAddress": "10.0.0.23" + } + ] + }, + "hardware": { + "cpu": "Intel N100", + "ram": "8GB", + "networkPorts": 4, + "networkPortSpeedGbps": 1 + }, "ports": [ { "portName": "eth0", @@ -34,45 +75,23 @@ "port": "wan" } } - ], - "software": { - "vms": [ - { - "name": "OpnSense", - "role": "Router/Firewall/Gateway (DHCP 10.0.0.100-254)", - "ipAddress": "10.0.0.1" - }, - { - "name": "TPLink Omada Controller", - "role": "Network Controller (:8043)", - "ipAddress": "10.0.0.4" - }, - { "name": "PiVPN (WireGuard)", "role": "VPN Server", "ipAddress": "10.0.0.5" }, - { - "name": "PiHole", - "role": "DNS Ad-blocker (installed, not in active use)", - "ipAddress": "10.0.0.6" - }, - { "name": "Dashy", "role": "Dashboard", "ipAddress": "10.0.0.12" }, - { - "name": "ProxRouter-Docker", - "role": "Docker host (Nginx reverse proxy, RustDesk, TwinGate)", - "ipAddress": "10.0.0.23" - } - ] - }, - "hardware": { - "cpu": "Intel N100", - "ram": "8GB", - "networkPorts": 4, - "networkPortSpeedGbps": 1 - } + ] }, { "machineName": "Asustor NAS", "ipAddress": "10.0.0.9", "role": "NAS", "operatingSystem": "Asustor ADM", + "iconKey": "homarr:asustor", + "software": { + "vms": [] + }, + "hardware": { + "cpu": "Realtek RTD1296 Quad Core 1.4GHz", + "ram": "2GB", + "networkPorts": 1, + "networkPortSpeedGbps": 1 + }, "ports": [ { "portName": "eth0", @@ -82,20 +101,23 @@ "port": "3" } } - ], - "software": { "vms": [] }, - "hardware": { - "cpu": "Realtek RTD1296 Quad Core 1.4GHz", - "ram": "2GB", - "networkPorts": 1, - "networkPortSpeedGbps": 1 - } + ] }, { "machineName": "Home Assistant Green", "ipAddress": "10.0.0.13", "role": "Smart Home Controller", "operatingSystem": "Home Assistant OS", + "iconKey": "homarr:home-assistant", + "software": { + "vms": [] + }, + "hardware": { + "cpu": "Home Assistant Custom SoC", + "ram": "Unknown", + "networkPorts": 1, + "networkPortSpeedGbps": 1 + }, "ports": [ { "portName": "eth0", @@ -105,20 +127,23 @@ "port": "4" } } - ], - "software": { "vms": [] }, - "hardware": { - "cpu": "Home Assistant Custom SoC", - "ram": "Unknown", - "networkPorts": 1, - "networkPortSpeedGbps": 1 - } + ] }, { "machineName": "Plex Server", "ipAddress": "10.0.0.11", "role": "Media Server", "operatingSystem": "Ubuntu Server", + "iconKey": "homarr:plex", + "software": { + "vms": [] + }, + "hardware": { + "cpu": "Intel N100", + "ram": "Unknown", + "networkPorts": 1, + "networkPortSpeedGbps": 1 + }, "ports": [ { "portName": "eth0", @@ -128,20 +153,23 @@ "port": "5" } } - ], - "software": { "vms": [] }, - "hardware": { - "cpu": "Intel N100", - "ram": "Unknown", - "networkPorts": 1, - "networkPortSpeedGbps": 1 - } + ] }, { "machineName": "Win11 N100", "ipAddress": "10.0.0.8", "role": "Media Downloader", "operatingSystem": "Windows 11", + "iconKey": "homarr:windows-11", + "software": { + "vms": [] + }, + "hardware": { + "cpu": "Intel N100", + "ram": "Unknown", + "networkPorts": 1, + "networkPortSpeedGbps": 1 + }, "ports": [ { "portName": "eth0", @@ -151,20 +179,40 @@ "port": "6" } } - ], - "software": { "vms": [] }, - "hardware": { - "cpu": "Intel N100", - "ram": "Unknown", - "networkPorts": 1, - "networkPortSpeedGbps": 1 - } + ] }, { "machineName": "Win11 Backblaze NAS", "ipAddress": "10.0.0.7", "role": "Backup NAS + Hypervisor", "operatingSystem": "TrueNAS Scale", + "iconKey": "homarr:backblaze", + "software": { + "vms": [ + { + "name": "Win11NAS", + "role": "Backblaze Backup VM", + "ipAddress": "10.0.0.24" + }, + { + "name": "MakeMKV", + "role": "Blu-ray Ripper", + "ipAddress": "10.0.0.14" + }, + { + "name": "Handbrake", + "role": "Video Transcoder", + "ipAddress": "10.0.0.15" + } + ] + }, + "hardware": { + "cpu": "AMD Ryzen 5 4600G", + "ram": "16GB", + "networkPorts": 1, + "networkPortSpeedGbps": 1, + "gpu": "EVGA GeForce GTX 1050 Ti" + }, "ports": [ { "portName": "eth0", @@ -174,37 +222,14 @@ "port": "7" } } - ], - "software": { - "vms": [ - { "name": "Win11NAS", "role": "Backblaze Backup VM", "ipAddress": "10.0.0.24" }, - { "name": "MakeMKV", "role": "Blu-ray Ripper", "ipAddress": "10.0.0.14" }, - { "name": "Handbrake", "role": "Video Transcoder", "ipAddress": "10.0.0.15" } - ] - }, - "hardware": { - "cpu": "AMD Ryzen 5 4600G", - "ram": "16GB", - "networkPorts": 1, - "networkPortSpeedGbps": 1, - "gpu": "EVGA GeForce GTX 1050 Ti" - } + ] }, { "machineName": "TrueNAS Host", "ipAddress": "10.0.0.10", "role": "Storage + VM Host", "operatingSystem": "TrueNAS Scale", - "ports": [ - { - "portName": "eth0", - "speedGbps": 1, - "connectedTo": { - "device": "Gigabit Switch", - "port": "8" - } - } - ], + "iconKey": "homarr:truenas", "software": { "vms": [ { @@ -219,13 +244,45 @@ "ram": "Unknown", "networkPorts": 1, "networkPortSpeedGbps": 1 - } + }, + "ports": [ + { + "portName": "eth0", + "speedGbps": 1, + "connectedTo": { + "device": "Gigabit Switch", + "port": "8" + } + } + ] }, { "machineName": "AI Server", "ipAddress": "10.0.0.20", "role": "AI Dev/Inference", "operatingSystem": "Pop!_OS", + "iconKey": "homarr:ollama-dark", + "software": { + "vms": [ + { + "name": "Ollama", + "role": "LLM Inference", + "ipAddress": "10.0.0.21" + }, + { + "name": "Bot Training", + "role": "AI Training", + "ipAddress": "10.0.0.22" + } + ] + }, + "hardware": { + "cpu": "AMD Ryzen 5 3600", + "ram": "32GB", + "networkPorts": 1, + "networkPortSpeedGbps": 1, + "gpu": "Gigabyte GeForce GTX 1080" + }, "ports": [ { "portName": "eth0", @@ -235,26 +292,23 @@ "port": "9" } } - ], - "software": { - "vms": [ - { "name": "Ollama", "role": "LLM Inference", "ipAddress": "10.0.0.21" }, - { "name": "Bot Training", "role": "AI Training", "ipAddress": "10.0.0.22" } - ] - }, - "hardware": { - "cpu": "AMD Ryzen 5 3600", - "ram": "32GB", - "networkPorts": 1, - "networkPortSpeedGbps": 1, - "gpu": "Gigabyte GeForce GTX 1080" - } + ] }, { "machineName": "Immich Mini PC", "ipAddress": "10.0.0.30", "role": "Photo Server", "operatingSystem": "Linux", + "iconKey": "homarr:immich", + "software": { + "vms": [] + }, + "hardware": { + "cpu": "Unknown", + "ram": "Unknown", + "networkPorts": 1, + "networkPortSpeedGbps": 1 + }, "ports": [ { "portName": "eth0", @@ -264,14 +318,7 @@ "port": "10" } } - ], - "software": { "vms": [] }, - "hardware": { - "cpu": "Unknown", - "ram": "Unknown", - "networkPorts": 1, - "networkPortSpeedGbps": 1 - } + ] } ], "devices": [ @@ -279,6 +326,7 @@ "name": "Gigabit Switch", "ipAddress": "unknown", "type": "Network Switch", + "iconKey": "switch", "notes": "Main 24-port switch. Wireless access point uplinks through this switch.", "ports": [ { @@ -403,7 +451,11 @@ }, { "portName": "20", - "speedGbps": 1 + "speedGbps": 1, + "connectedTo": { + "device": "NanoKVM Lite", + "port": "port0" + } }, { "portName": "21", @@ -443,6 +495,7 @@ "name": "HDHomeRun", "ipAddress": "10.0.0.2", "type": "TV Tuner", + "iconKey": "homarr:hdhomerun", "ports": [ { "portName": "eth0", @@ -458,37 +511,62 @@ "name": "3DS", "ipAddress": "10.0.0.17", "type": "Handheld Console", - "notes": "Wi-Fi only." + "notes": "Wi-Fi only.", + "ports": [] }, { "name": "2DS", "ipAddress": "10.0.0.18", "type": "Handheld Console", - "notes": "Wi-Fi only." + "notes": "Wi-Fi only.", + "ports": [] }, { "name": "Nintendo Switch", "ipAddress": "10.0.0.19", "type": "Gaming Console", - "notes": "Wi-Fi only." + "notes": "Wi-Fi only.", + "ports": [ + { + "portName": "port0", + "speedGbps": 1 + } + ] }, { "name": "NanoKVM Lite", "ipAddress": "10.0.0.26", "type": "KVM Device", - "notes": "Port link not yet modeled." + "notes": "Port link not yet modeled.", + "ports": [ + { + "portName": "port0", + "speedGbps": 1, + "connectedTo": { + "device": "Gigabit Switch", + "port": "20" + } + } + ] }, { "name": "UPS Pi", "ipAddress": "10.0.0.27", "type": "Power Monitoring Device", - "notes": "Port link not yet modeled." + "notes": "Port link not yet modeled.", + "ports": [ + { + "portName": "port0", + "speedGbps": 1 + } + ] }, { "name": "Waveshare", "ipAddress": "10.0.0.28", "type": "Peripheral Device", - "notes": "Port link not yet modeled." + "notes": "Port link not yet modeled.", + "ports": [] } ] }