Skip to main content

homelab diagram

%%{init: {'theme': 'base'dark', 'themeVariables': { 'primaryColor'lineColor': '#ffffff'#eceff1', 'edgeLabelBackground'textColor': '#ffffff'#eceff1', 'tertiaryColor'mainBkg': '#f5f5f5'#263238', 'nodeBorder': '#eceff1' }}}%%
flowchart TD
    %% --- Styles (Dark Mode Optimized) ---
    %% Cloud: Deep Blue background, Light Blue Border
    classDef cloud fill:#e1f5fe,#01579b,stroke:#0277bd,#4fc3f7,stroke-width:2px,color:#01579b#e1f5fe
    
    %% Home: Deep Green background, Light Green Border
    classDef home fill:#e8f5e9,#1b5e20,stroke:#2e7d32,#66bb6a,stroke-width:2px,color:#1b5e20#e8f5e9
    
    %% Devices: Dark Grey background, White Border, White Text
    classDef device fill:#ffffff,#37474f,stroke:#90a4ae,#eceff1,stroke-width:2px,rx:5,ry:5,color:#37474f#ffffff
    
    %% Services: Transparent/Darker background, Dotted Border
    classDef service fill:#fcfcfc,#263238,stroke:#cfd8dc,#90a4ae,stroke-width:1px,stroke-dasharray: 5 5,color:#546e7a#b0bec5

    %% --- External World ---
    Internet((Internet))
    style Internet fill:#ffffff,stroke:#333,color:#000

    %% --- Oracle Cloud Infrastructure ---
    subgraph OracleCloud [Oracle Cloud - Free Tier]
        direction TB
        
        subgraph PhoenixBox [Phoenix - Intel VM]
            Phoenix(Phoenix<br/>Ubuntu 24.04<br/>10.0.0.93)
            class Phoenix device
            
            subgraph PhoenixSvcs [Services]
                P_Traefik[Traefik Proxy<br/>'The Front Door']
                P_WG[WireGuard Hub<br/>10.8.0.1]
                P_Kuma[Uptime Kuma]
            end
        end

        subgraph DobbyBox [Dobby - ARM VM]
            Dobby(Dobby<br/>Ubuntu 24.04<br/>10.0.0.100)
            class Dobby device
            
            subgraph DobbySvcs [Services]
                D_Wing[Pterodactyl Wing]
                D_MC[Minecraft Server]
            end
        end
    end

    %% --- Home Network ---
    subgraph HomeNet [Home Network - Deltona<br/>192.168.120.0/22]
        direction TB
        Unifi[Unifi Router<br/>Gateway]
        class Unifi device

        subgraph FireboltBox [Firebolt - Ubuntu Server]
            Firebolt(Firebolt<br/>GameNode3<br/>192.168.123.4)
            class Firebolt device
            
            subgraph FireboltSvcs [Services]
                F_Traefik[Traefik<br/>Internal Router]
                F_Auth[Authentik]
                F_Media[Plex / Arrs]
                F_WG[WG Peer<br/>10.8.0.5]
            end
        end

        subgraph NorbertBox [Norbert - Unraid 7.x]
            Norbert(Norbert<br/>GameNode1<br/>192.168.123.3)
            class Norbert device
            
            subgraph NorbertSvcs [Services]
                N_Storage[Media Storage]
                N_Wing[Pterodactyl Ark Bot]
                N_WG[WG Peer<br/>10.8.0.2]
                
                subgraph HASSVM [Home Assistant VM]
                    HASS[HASS OS<br/>Zigbee/ZWave]
                    H_WG[WG Peer<br/>10.8.0.3]
                end
            end
        end
    end

    %% --- Connections ---

    %% Web Traffic Flow
    Internet == HTTPS:443 ==> P_Traefik
    P_Traefik -- TCP Passthrough<br/>WG Tunnel --> F_Traefik
    F_Traefik --> F_Media & F_Auth

    %% Game Traffic Flow
    Internet -- Game Ports --> Dobby
    Internet -- Game Ports --> Unifi
    Unifi -- Port Forward --> Firebolt & Norbert

    %% WireGuard Backplane
    P_WG <==>|Tunnel| F_WG
    P_WG <==>|Tunnel| N_WG
    P_WG <==>|Tunnel| H_WG

    %% Storage Links
    Firebolt -.->|SMB / NFS| Norbert

    %% Apply Styles
    class OracleCloud cloud
    class HomeNet home