Files
nex/public/network.d2
2025-12-08 21:19:34 +01:00

151 lines
3.3 KiB
Plaintext

title: Home Network Topology | font-size: 24
classes: {
router: {
style: {
fill: "#f59e0b"
stroke: "#fbbf24"
stroke-width: 2
shape: rectangle
border-radius: 5
}
}
core: {
style: {
fill: "#ef4444"
stroke: "#f87171"
stroke-width: 2
shape: hexagon
}
}
infra: {
style: {
fill: "#10b981"
stroke: "#34d399"
stroke-width: 2
}
}
worker: {
style: {
fill: "#8b5cf6"
stroke: "#a78bfa"
stroke-width: 2
shape: hexagon
}
}
iot: {
style: {
fill: "#f97316"
stroke: "#fb923c"
stroke-width: 2
shape: rounded-box
}
}
client: {
style: {
fill: "#6b7280"
stroke: "#9ca3af"
stroke-width: 2
shape: rectangle
border-radius: 5
}
}
dns: {
style: {
fill: "#0ea5e9"
stroke: "#38bdf8"
stroke-width: 2
}
}
}
Internet: "☁️ Internet\nCloudflare DNS\n5.132.33.195" {
class: dns
near: top-center
}
Router: "🛜 Zyxel Router\nhub.lan\n192.168.1.1" {
class: router
near: Router.n
}
LAN: {
label: "LAN 192.168.1.0/24"
shape: rectangle
style: {
fill: "#1e293b"
stroke: "#475569"
stroke-width: 2
stroke-dash: 5
opacity: 0.3
}
Traefik: "⚡ Traefik\nReverse Proxy\n192.168.1.159" {class: core}
Dokku: "⚡ Dokku PaaS\n192.168.1.159" {class: core}
Gitea: "⚡ Gitea\ngit.appmodel.nl" {class: core}
Auction: "⚡ Auction\nauction.appmodel.nl" {class: core}
MI50: "⚡ MI50/Ollama\nollama.lan" {class: core}
AdGuard: "🔧 AdGuard\nDNS Filter" {class: infra}
XU4: "🔧 XU4 DNS\n192.168.1.163" {class: infra}
C2: "🔧 C2 DNS\n192.168.1.227" {class: infra}
HA: "🔧 Home Assistant\n192.168.1.193" {class: infra}
Atlas: "💻 Atlas\n192.168.1.100" {class: worker}
TV: "📺 Kamer-TV\n192.168.1.240" {class: iot}
Hue: "💡 Philips Hue\n192.168.1.49" {class: iot}
Eufy: "📹 Eufy S380HB\n192.168.1.59" {class: iot}
IoT: "🔌 IoT Devices\nNest/Roborock/ESP/Printer" {class: iot}
MIKE: "💻 MIKE PC\n192.168.1.100\nLAN + Tether" {class: client}
Lotte: "📱 Lotte\n192.168.1.133" {class: client}
}
Tether: {
label: "Tether 192.168.137.0/24"
shape: rectangle
style: {
fill: "#0f172a"
stroke: "#334155"
stroke-width: 2
stroke-dash: 5
opacity: 0.3
}
Hermes: "💻 Hermes\n192.168.137.239" {class: worker}
Plato: "💻 Plato\n192.168.137.239\nllm.plato.lan" {class: worker}
}
Internet -> Router: provides DNS
Router -> LAN.Traefik: routes
Router -> LAN.Dokku: routes
Router -> LAN.Gitea: routes
Router -> LAN.Auction: routes
Router -> LAN.MI50: routes
Router -> LAN.AdGuard: routes
Router -> LAN.XU4: routes
Router -> LAN.C2: routes
Router -> LAN.HA: routes
Router -> LAN.Atlas: routes
Router -> LAN.TV: routes
Router -> LAN.Hue: routes
Router -> LAN.Eufy: routes
Router -> LAN.IoT: routes
Router -> LAN.MIKE: routes
Router -> LAN.Lotte: routes
LAN.MIKE -> Tether.Hermes: tether bridge
LAN.MIKE -> Tether.Plato: tether bridge
LAN.Traefik -> LAN.Gitea: proxies
LAN.Traefik -> LAN.Dokku: proxies
LAN.Traefik -> LAN.Auction: proxies
LAN.XU4 -.-> LAN.AdGuard: filters
LAN.C2 -.-> LAN.AdGuard: filters
LAN.Atlas -.-> LAN.AdGuard: uses
LAN.HA -.-> LAN.AdGuard: uses
Tether.Hermes -.-> LAN.AdGuard: uses
Tether.Plato -.-> LAN.AdGuard: uses