LikeC4 Topology Source#
Network topology in LikeC4 DSL format.
Open with the LikeC4 VS Code extension or likec4 build.
Download topology.c4 | Interactive view
specification {
element server {
style {
shape rectangle
color green
}
}
element router {
style {
shape component
color amber
}
}
element switch {
style {
shape component
color gray
}
}
element device {
style {
shape rectangle
color secondary
}
}
element internet {
style {
shape browser
color blue
}
}
element network {
style {
shape cylinder
color muted
}
}
element service {
style {
shape component
color primary
}
}
}
model {
OB_US_GJ6GRJK74T = server 'Work Macbook (M4)' {
}
ap_back = switch 'Back AP' {
description 'UniFi UAP-AC-Pro'
}
ap_hallway = switch 'Hallway AP' {
description 'UniFi UAP-AC-Pro'
}
bedford_drdillo_mbair = server 'DrDillo Macbook Air' {
}
bedford_flex = switch 'Bedford Flex Mini' {
description 'UniFi USW Flex Mini'
}
bedford_kitchen_mini = device 'Kitchen Mac mini' {
description 'Mac mini — kitchen'
}
bedford_office_mini = device 'Office Mac mini' {
description 'Mac mini — Pop\'s office'
}
bedford_u6_house = switch 'U6 House' {
description 'UniFi U6 access point'
}
bedford_u6_office = switch 'U6 Office' {
description 'UniFi U6 Mesh access point'
}
bootable_iso = server 'bootable-iso' {
}
comcast = internet 'Internet' {
}
d_link = switch 'Office Switch' {
description 'Dlink'
}
dionysius = device 'Dionysius' {
description 'Windows 10 gaming PC'
}
ereshkigal = server 'ereshkigal' {
alloy = service 'Alloy' {
}
grafana = service 'Grafana' {
link https://grafana.inaba.network/
}
homeassistant = service 'Home Assistant (VM)' {
description 'HAOS VM on ereshkigal (bridged to vmbr0)'
}
jellyfin = service 'Jellyfin' {
}
kavita = service 'Kavita' {
}
lidarr = service 'Lidarr' {
}
navidrome = service 'Navidrome' {
}
nginx = service 'NGINX' {
}
nix_serve = service 'Nix Serve' {
}
ollama = service 'Ollama' {
}
prowlarr = service 'Prowlarr' {
}
radarr = service 'Radarr' {
}
sonarr = service 'Sonarr' {
}
step_ca = service 'step-ca' {
}
}
express7 = router 'Wolfhead Music' {
description 'UniFi Express 7 — gateway + Wi-Fi'
}
g3flex = device 'G3 Flex' {
description 'G3 Flex Camera'
}
haxo = server 'haxo' {
}
internet = internet 'Internet' {
}
main_switch = switch 'Main Switch' {
description 'UniFi Switch Pro 24 PoE'
}
mokou = server 'mokou' {
alloy = service 'Alloy' {
}
languagetool = service 'Languagetool' {
}
ollama = service 'Ollama' {
}
}
myon = server 'myon' {
}
octopi = server 'octopi' {
alloy = service 'Alloy' {
}
barcode_scanner = service 'Kitchen Barcode Scanner' {
description 'MQTT -> 192.168.0.55:1883'
}
document_scanner = service 'Mail Scanner' {
description 'ScanSnap -> http://ereshkigal:8011'
}
}
officelaserjet = device 'officelaserjet' {
description 'HP P2015dn LaserJet Printer'
}
razer = server 'razer' {
alloy = service 'Alloy' {
}
languagetool = service 'Languagetool' {
}
}
remelia = device 'remelia' {
description 'Apple TV'
}
shinobu = server 'shinobu' {
alloy = service 'Alloy' {
}
languagetool = service 'Languagetool' {
}
}
voile = device 'Voile' {
description 'Synology DS1621+ NAS'
borgwarehouse = service 'Borg Warehouse' {
link https://voile:7777
}
gitea = service 'Gitea' {
link http://voile:8418
}
samba = service 'Samba' {
description 'smb://voile'
}
}
yukari = router 'Yukari' {
description 'UniFi DreamMachine Pro'
}
net_bedford = network 'Wolfhead Music' {
description '192.168.1.0/24'
}
net_bedford_guest = network 'Wolfhead Music Guest' {
}
net_cloudflare = network 'Cloudflare Tunnel Network' {
}
net_falseblue_guest = network 'Isolated Guest Network' {
description '192.168.3.0/24'
}
net_falseblue_iot = network 'Isolated IoT Network' {
description '192.168.2.0/24'
}
net_gensokyo = network 'Gensokyo Home Network' {
description '192.168.0.0/24'
}
net_meshspace = network 'Lafayette <-> Bedford Mesh' {
description '192.168.0.0/23'
}
net_tailscale = network 'Tailscale Network' {
description '100.0.0.0/8'
}
net_voile = network '10g backbone' {
description '10.0.0.0/24'
}
OB_US_GJ6GRJK74T -> ap_back
ap_back -> main_switch
ap_back -> ap_hallway
ap_hallway -> main_switch
bedford_drdillo_mbair -> bedford_u6_house
bedford_flex -> bedford_u6_house
bedford_flex -> bedford_u6_office
bedford_kitchen_mini -> bedford_u6_house
bedford_office_mini -> bedford_u6_office
comcast -> express7
d_link -> main_switch
d_link -> officelaserjet
d_link -> mokou
dionysius -> main_switch
ereshkigal -> main_switch
ereshkigal -> voile
bedford_flex -> express7
g3flex -> main_switch
ap_back -> haxo
internet -> yukari
main_switch -> yukari
ap_back -> octopi
razer -> yukari
main_switch -> remelia
main_switch -> voile
OB_US_GJ6GRJK74T -> net_tailscale 'tailscale0'
OB_US_GJ6GRJK74T -> net_gensokyo 'wifi'
ap_back -> net_gensokyo 'port-1'
ap_back -> net_gensokyo 'wifi'
ap_hallway -> net_gensokyo 'port-1'
ap_hallway -> net_gensokyo 'wifi'
bedford_drdillo_mbair -> net_tailscale 'tailscale0'
bedford_drdillo_mbair -> net_bedford 'wifi'
bedford_flex -> net_bedford 'port-1'
bedford_flex -> net_bedford 'port-2'
bedford_flex -> net_bedford 'port-3'
bedford_flex -> net_bedford 'port-4'
bedford_flex -> net_bedford 'port-5'
bedford_kitchen_mini -> net_bedford 'wifi'
bedford_office_mini -> net_bedford 'wifi'
bedford_u6_house -> net_bedford 'port-1'
bedford_u6_house -> net_bedford 'wifi'
bedford_u6_office -> net_bedford 'port-1'
bedford_u6_office -> net_bedford 'wifi'
d_link -> net_gensokyo 'port-1'
d_link -> net_gensokyo 'port-2'
d_link -> net_gensokyo 'port-3'
d_link -> net_gensokyo 'port-4'
dionysius -> net_gensokyo 'eth0'
ereshkigal -> net_gensokyo 'idrac'
ereshkigal -> net_tailscale 'tailscale0'
ereshkigal -> net_gensokyo 'vmbr0'
ereshkigal -> net_voile 'vmbr1'
express7 -> net_bedford 'lan-1'
express7 -> net_bedford 'lan-2'
express7 -> net_meshspace 'mesh0'
express7 -> net_bedford 'wifi'
g3flex -> net_gensokyo 'eth0'
haxo -> net_tailscale 'tailscale0'
haxo -> net_gensokyo 'wifi'
main_switch -> net_gensokyo 'port-1'
main_switch -> net_gensokyo 'port-13'
main_switch -> net_gensokyo 'port-15'
main_switch -> net_gensokyo 'port-16'
main_switch -> net_gensokyo 'port-2'
main_switch -> net_gensokyo 'port-21'
main_switch -> net_gensokyo 'port-22'
main_switch -> net_gensokyo 'port-3'
main_switch -> net_gensokyo 'port-4'
main_switch -> net_gensokyo 'port-5'
main_switch -> net_gensokyo 'port-7'
mokou -> net_gensokyo 'eth0'
mokou -> net_tailscale 'tailscale0'
myon -> net_tailscale 'tailscale0'
octopi -> net_tailscale 'tailscale0'
octopi -> net_gensokyo 'wifi'
officelaserjet -> net_gensokyo 'eth0'
razer -> net_gensokyo 'eth0'
razer -> net_tailscale 'tailscale0'
remelia -> net_gensokyo 'eth0'
shinobu -> net_tailscale 'tailscale0'
voile -> net_cloudflare 'cloudflared0'
voile -> net_gensokyo 'ovs_bond0'
voile -> net_voile 'ovs_bond1'
voile -> net_tailscale 'tailscale0'
yukari -> net_meshspace 'mesh0'
yukari -> net_gensokyo 'port-1'
yukari -> net_gensokyo 'port-7'
}
views {
view index {
title 'Network Topology'
include *
}
view networks {
title 'Networks'
include element.kind = network,
element.kind = server,
element.kind = router,
element.kind = switch,
element.kind = device,
element.kind = internet
}
}