Skip to main content

homelab diagram

Traffic Legend

  • █ Green Lines (Public Internet): Traffic entering from the outside world (HTTPS, Game Ports).
  • █ Orange Lines (The Tunnel): Encrypted WireGuard traffic flowing between the Oracle Cloud Gateway and Home.
  • █ Blue Lines (Internal LAN): Local traffic routed inside the home network by Traefik.
  • █ Grey Lines (Management): Backend connections for File Storage (NFS), Docker Management (Portainer), and Panel Control (Pterodactyl).


%%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true, 'background': '#1e1e1e', 'primaryColor': '#263238', 'primaryTextColor': '#fff', 'primaryBorderColor': '#fff', 'lineColor': '#b0bec5', 'mainBkg': '#1e1e1e'}}}%%
flowchart LR
    %% ==========================================
    %% 1. GLOBAL STYLES
    %% ==========================================
    classDef cloud fill:#0d47a1,stroke:#fff,stroke-width:2px,color:#fff
    classDef home fill:#1b5e20,stroke:#fff,stroke-width:2px,color:#fff
    classDef server fill:#37474f,stroke:#fff,stroke-width:2px,color:#fff
    classDef stack fill:#212121,stroke:#90a4ae,stroke-width:1px,stroke-dasharray: 5 5,color:#fff
%% Default Line (Management/Storage) - Grey
linkStyle default stroke:#607d8b,stroke-width:1px;

%% ==========================================
%% 2. THE SOURCE
%% ==========================================
Internet((Internet))
style Internet fill:#fff,stroke:#333,color:#000

%% ==========================================
%% 3. ORACLE CLOUD (Top Lane)
%% ==========================================
subgraph OracleCloud [Oracle Cloud - Free Tier]
    direction TB
    style OracleCloud fill:#0d47a1,stroke:#fff,stroke-width:3px,color:#fff

    subgraph PhoenixBox [Phoenix - Gateway]
        direction TB
        class PhoenixBox server
        
        P_Traefik[Traefik Proxy]
        P_WG[WireGuard Interface]
        
        subgraph P_Infra [Infrastructure]
            class P_Infra stack
            P_Fail2Ban[Fail2Ban]
            P_Agent[Portainer Agent]
        end
    end

    subgraph DobbyBox [Dobby - Game Node]
        direction TB
        class DobbyBox server
        
        subgraph D_Games [Game Stack]
            class D_Games stack
            D_Wing[Pterodactyl Wing]
            D_MC[Minecraft Cluster]
        end
        
        D_Agent[Portainer Agent]
    end
end

%% ==========================================
%% 4. HOME NETWORK (Bottom Lane)
%% ==========================================
subgraph HomeNet [Home Network - Deltona]
    direction TB
    style HomeNet fill:#1b5e20,stroke:#fff,stroke-width:3px,color:#fff

    Unifi[Unifi Router]:::server

    subgraph FireboltBox [Firebolt - Main Server]
        direction TB
        class FireboltBox server
        
        F_Traefik[Traefik Internal]
        F_WG[WireGuard Interface]

        %% Stacks
        subgraph F_Stacks [Apps & Services]
            style F_Stacks fill:none,stroke:none

            subgraph F_Infra [Infrastructure]
                class F_Infra stack
                F_Auth[Authentik]
                F_Portainer[Portainer]
                F_Homepage[Homepage]
            end

            subgraph F_Media [Media Stack]
                class F_Media stack
                F_Plex[Plex]
                F_Arr[Sonarr/Radarr]
                F_Down[qBit/VPN]
            end

            subgraph F_Admin [Admin Tools]
                class F_Admin stack
                F_Bit[Vaultwarden]
                F_Book[BookStack]
                F_Dup[Duplicati]
            end

            subgraph F_GameStack [Game Stack]
                class F_GameStack stack
                F_Panel[Ptero Panel]
                F_Wing[Ptero Wing]
            end
        end
    end

    subgraph NorbertBox [Norbert - Storage]
        direction TB
        class NorbertBox server
        
        N_WG[WireGuard]
        N_Store[Media Storage]

        subgraph N_Apps [App Stack]
            class N_Apps stack
            N_Hass[Home Assistant]
            N_LLM[LLMCord AI]
        end

        subgraph N_Games [Game Node 1]
            class N_Games stack
            N_Wing[Ptero Wing]
            N_Ark[Ark / MC Test]
        end
    end

    subgraph PiHoleBox [Raspberry Pi]
        direction TB
        class PiHoleBox server
        PI_SVC[DNS Sinkhole]
        PI_VPN[PiVPN Ingress]
    end
end

%% ==========================================
%% 5. TRAFFIC WIRING (Count Carefully)
%% ==========================================

%% 0, 1, 2: PUBLIC INTERNET (Green)
Internet ==>|HTTPS| P_Traefik
Internet ==>|Ports| D_Games
Internet ==>|Ports| Unifi
linkStyle 0,1,2 stroke:#00e676,stroke-width:3px;

%% 3, 4: TUNNEL (Orange)
P_Traefik --> P_WG
P_WG ==>|WireGuard Tunnel| F_WG
linkStyle 3,4 stroke:#ff9100,stroke-width:4px;

%% 5, 6, 7, 8, 9, 10, 11: LAN TRAFFIC (Blue)
F_WG --> F_Traefik
F_Traefik --> F_Infra & F_Media & F_Admin & F_GameStack
F_Traefik -.-> N_Apps & PI_SVC
linkStyle 5,6,7,8,9,10,11 stroke:#2979ff,stroke-width:2px;

%% 12: SPLIT TUNNEL (Orange)
P_WG -.->|Direct Route| N_WG
linkStyle 12 stroke:#ff9100,stroke-width:3px,stroke-dasharray: 5 5;

%% 13: LAN TRAFFIC (Blue)
N_WG -.-> N_Games
linkStyle 13 stroke:#2979ff,stroke-width:2px;

%% 14, 15, 16, 17: PORT FORWARDING (Green Dotted)
Unifi -.->|32400| F_Plex
Unifi -.->|Game Ports| F_GameStack
Unifi -.->|Game Ports| N_Games
Unifi -.->|51820| PI_VPN
linkStyle 14,15,16,17 stroke:#00e676,stroke-width:2px,stroke-dasharray: 5 5;

%% 18+: MANAGEMENT (Grey Default)
F_Portainer -.-> P_Agent & D_Agent
F_Down -.->|NFS| N_Store
F_Panel -.-&gt; D_Wing &amp; N_Wing &amp; F_Wing</code></pre>