Overview
graph RL
subgraph Legend/VLANs
Hostile:::hostile
Priv:::priv
DMZ:::dmz
IoT:::iot
Guest:::guest
Cloud:::cloud
end
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;
graph TD
%% Graphs
Internet:::hostile
subgraph Home
subgraph Main Rack
FW["UDM Pro"]:::priv
Tradfri["Tradfri"]:::iot
Printer["Brother HL-L3230CDW"]:::priv
end
Minirack
Wireless
end
DigitalOcean["Digital Ocean"]
Azure
%% Connections
Internet --- FW
Internet --- DigitalOcean
Internet --- Azure
FW --- Minirack
FW --- Tradfri
FW --- Wireless
FW --- Printer
%% Clicks
click Minirack "#minirack" "Minirack"
click Wireless "#wireless" "Wireless"
click DigitalOcean "#digital-ocean" "Digital Ocean"
click Azure "#azure" "Azure"
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;
Minirack
graph TD
FW["UDM Pro"]:::priv
subgraph Minirack
Switch["Switch Flex Mini"]:::priv
subgraph XCP-NG
SECTOR00["SECTOR00<br>OptiPlex Ultra 7070"]:::priv
SECTOR01["SECTOR01<br>OptiPlex Ultra 7070"]:::priv
VMs
end
STORE00["STORE00<br>Pi 4<br>NAS"]:::priv
subgraph Containers
Backrest:::priv
end
BRIDGE00["BRIDGE00<br>Pi 4<br>Tailscale exit node"]:::priv
end
%% Connections
FW --- Switch
Switch --- SECTOR00
Switch --- SECTOR01
Switch --- STORE00
Switch --- BRIDGE00
SECTOR00 --- VMs
SECTOR01 --- VMs
STORE00 --- Containers
%% Clicks
click VMs "#xcp-ng-cluster"
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;
XCP-NG Cluster
graph TD
subgraph VMs
MCP00["MCP00<br>AD/DNS"]:::priv
TERMINAL00["TERMINAL00<br>DEV/RSAT"]:::priv
subgraph Nomad Cluster
CONTROLLER00["CONSOLE01<br>Nomad controller"]:::priv
NODE00["CYCLE00<br>Linux node"]:::priv
NODE01["CYCLE01<br>Windows node"]:::dmz
NODE02["CYCLE02<br>Linux node"]:::dmz
subgraph CONTAINERS-HOME["Containers"]
Traefik-Priv["Traefik"]:::priv
Orchestra:::priv
Homebridge:::priv
Fittrackee:::priv
Traefik-DMZ["Traefik"]:::dmz
TheLounge:::dmz
WebDBG-API:::dmz
FreshRSS:::dmz
Forgejo:::dmz
Immich:::dmz
Bitwarden:::dmz
end
end
RUNNER00["RUNNER00<br>Forgejo runner"]:::dmz
end
CONTROLLER00 --- NODE00
CONTROLLER00 --- NODE01
CONTROLLER00 --- NODE02
NODE00 --- CONTAINERS-HOME
NODE01 --- CONTAINERS-HOME
NODE02 --- CONTAINERS-HOME
Traefik-Priv --- Orchestra
Traefik-Priv --- Homebridge
Traefik-Priv --- Fittrackee
Traefik-DMZ --- TheLounge
Traefik-DMZ --- FreshRSS
Traefik-DMZ --- Forgejo
Traefik-DMZ --- Immich
Traefik-DMZ --- Bitwarden
Forgejo --- RUNNER00
%% Clicks
click FreshRSS "https://rss.dev0.sh" "RSS Reader"
click TheLounge "https://irc.dev0.sh" "IRC Bouncer"
click Forgejo "https://git.dev0.sh" "Git server"
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;
Wireless
graph TD
FW["UDM Pro"]:::priv
subgraph Wireless
AP["U7 Lite"]
subgraph Priv-SSID
Homepod0["Homepod"]:::priv
Homepod1["Homepod"]:::priv
Homepod2["Homepod"]:::priv
AppleTV["Apple TV"]:::priv
end
subgraph IoT-SSID
Aqara["Aqara"]:::iot
end
subgraph Guest-SSID
Guests["Guest devices"]:::guest
end
end
%% Connections
FW --- AP
AP --- Homepod0
AP --- Homepod1
AP --- Homepod2
AP --- Aqara
AP --- AppleTV
AP --- Guests
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;
class Priv-SSID priv;
class IoT-SSID iot;
class Guest-SSID guest;
Digital Ocean
graph TD
Internet:::hostile
subgraph Digital-Ocean
Shuttle-DO00["Shuttle-DO00<br>Tailscale exit node"]:::cloud
subgraph CONTAINERS-DO["Containers"]
Nginx-Cloud["Nginx-Certbot"]:::cloud
end
end
subgraph Home
subgraph Minirack
subgraph XCP-NG
subgraph VMs
subgraph Nomad Cluster
subgraph Containers
WebDBG-API:::dmz
end
end
end
end
end
end
subgraph Azure
subgraph rTechsupport Tenant
subgraph WebDBG-Group
SWA-WebDBG
end
end
end
%% Connections
Internet --- Digital-Ocean
Internet --- Azure
Shuttle-DO00 --- CONTAINERS-DO
Nginx-Cloud -.- WebDBG-API
SWA-WebDBG -.- Nginx-Cloud
%% Clicks
click SWA-WebDBG "https://webdbg.rtech.support" "WebDBG webpage"
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;
Azure
graph LR
Internet:::hostile
subgraph Azure
subgraph Dev0 Tenant
subgraph Infra-Group-dev0["Infra-Group"]
DNS-Dev0
DNS-Proper
end
subgraph Static-Sites
SWA-Homepage
SWA-TheAether-Astro
end
end
subgraph rTechsupport Tenant
subgraph Infra-Group-rts["Infra-Group"]
DNS-rtech.support
end
subgraph HWGV-Group
SWA-HWGV
end
subgraph Hyde-Group
ACA-Hyde
Storage-Hyde
ACA-Linx
Storage-Linx
end
subgraph Hyde-Dev-Group
ACA-Hyde-Dev
Stoage-Hyde-Dev
end
subgraph Wiki-Dev-Group
SWA-Wiki-Dev
end
subgraph WebDBG-Group
SWA-WebDBG
end
end
end
%% Connections
Internet --- Azure
%% Clicks
click SWA-Homepage "https://dev0.sh" "Dev0 homepage"
click SWA-TheAether-Astro "https://docs.dev0.sh" "Dev0 blog and wiki"
click SWA-HWGV "https://hwgv.rtech.support" "HWGV webpage"
click SWA-Hyde "https://hyde.rtech.support" "Hyde webpage"
click ACA-Linx "https://paste.rtech.support" "Linx webpage"
click SWA-Hyde-Dev "https://dev.hyde.rtech.support" "Hyde dev webpage"
click SWA-Wiki-Dev "https://staging.rtech.support" "Wiki staging and test site"
click SWA-WebDBG "https://webdbg.rtech.support" "WebDBG webpage"
%% Theme Classes
classDef hostile fill:#3B4252,stroke:#bf616a,color:#bf616a,stroke-width:4px;
classDef priv fill:#3B4252,stroke:#b48ead,color:#b48ead,stroke-width:4px;
classDef dmz fill:#3B4252,stroke:#d08770,color:#d08770,stroke-width:4px;
classDef iot fill:#3B4252,stroke:#5e81ac,color:#5e81ac,stroke-width:4px;
classDef guest fill:#3B4252,stroke:#a3be8c,color:#a3be8c,stroke-width:4px;
classDef cloud fill:#3B4252,stroke:#d8dee9,color:#d8dee9,stroke-width:4px;