Skip to content

Network Map

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;