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 {
MacBook_Pro_0432 = server 'Work Macbook' {
}
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' {
}
bootable_iso = server 'bootable-iso' {
}
d_link = switch 'Office Switch' {
description 'Dlink'
}
dionysius = device 'Dionysius' {
description 'Windows 10 gaming PC'
}
ereshkigal = server 'ereshkigal' {
esphome = service 'ESPHome' {
link http://ereshkigal:6052
}
jellyfin = service 'Jellyfin' {
}
lidarr = service 'Lidarr' {
}
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' {
}
}
g3flex = device 'G3 Flex' {
description 'G3 Flex Camera'
}
home_assistant_green = device 'Home Assistant' {
description 'Home Assistant Green'
home_assistant = service 'Home Assistant' {
link http://192.168.0.55:8123
}
}
internet = internet 'Internet' {
}
main_switch = switch 'Main Switch' {
description 'UniFi Switch Pro 24 PoE'
}
mokou = server 'mokou' {
languagetool = service 'Languagetool' {
}
ollama = service 'Ollama' {
}
}
octopi = server 'octopi' {
}
officelaserjet = device 'officelaserjet' {
description 'HP P2015dn LaserJet Printer'
}
razer = server 'razer' {
languagetool = service 'Languagetool' {
}
}
remelia = device 'remelia' {
description 'Apple TV'
}
shinobu = server 'shinobu' {
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 'Bedford Network' {
description '192.168.1.0/24'
}
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_tailscale = network 'Tailscale Network' {
description '100.0.0.0/8'
}
net_voile = network '10g backbone' {
description '10.0.0.0/24'
}
MacBook_Pro_0432 -> ap_back
ap_back -> main_switch
ap_back -> ap_hallway
ap_hallway -> main_switch
d_link -> main_switch
d_link -> officelaserjet
d_link -> mokou
dionysius -> main_switch
ereshkigal -> main_switch
ereshkigal -> voile
g3flex -> main_switch
home_assistant_green -> yukari
internet -> yukari
main_switch -> yukari
ap_back -> octopi
razer -> yukari
main_switch -> remelia
main_switch -> voile
MacBook_Pro_0432 -> net_tailscale 'tailscale0'
MacBook_Pro_0432 -> 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'
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'
g3flex -> net_gensokyo 'eth0'
home_assistant_green -> net_gensokyo 'end0'
home_assistant_green -> net_falseblue_iot 'end0.3'
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'
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_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
}
}