homelab diagram
%%{init: {'theme': 'dark', 'themeVariables': { 'lineColor': '#eceff1', 'textColor': '#eceff1', 'mainBkg': '#263238', 'nodeBorder': '#eceff1' }}}%%
flowchart TD
%% --- Styles ---
classDef cloud fill:#01579b,stroke:#4fc3f7,stroke-width:2px,color:#e1f5fe
classDef home fill:#1b5e20,stroke:#66bb6a,stroke-width:2px,color:#e8f5e9
classDef device fill:#37474f,stroke:#eceff1,stroke-width:2px,rx:5,ry:5,color:#ffffff
classDef servicestack fill:#263238,stroke:#90a4ae,#546e7a,stroke-width:1px,stroke-dasharray: 5 5,color:#b0bec5
%% --- External World ---
Internet((Internet))
style Internet fill:#ffffff,stroke:#333,color:#000
%% ---==========================================
Oracle%% CloudORACLE ---CLOUD (Top Layer)
%% ==========================================
subgraph OracleCloud [Oracle Cloud - Free Tier]
direction TB
%% --- Phoenix ---
subgraph PhoenixBox [Phoenix - Intel VM]
class PhoenixBox device
Phoenix(Phoenix<br/>Ubuntu 24.04<br/>10.0.0.93)
style Phoenix fill:#37474f,stroke:none
subgraph PhoenixSvcs [Services]
direction TB
subgraph PhoenixInfra [Infrastructure]
directionclass TBPhoenixInfra stack
P_Traefik[Traefik Proxy<br/>'The Front Door']Proxy]
P_WG[WG Interface<br/> 10.8.0.1]
P_Fail2Ban[Fail2Ban<br/>Net: Host]Fail2Ban]
P_Watchtower[Watchtower]
P_Agent[Portainer Agent]
end
subgraph PhoenixApps [Local Apps]
directionclass TBPhoenixApps stack
P_Kuma[Uptime Kuma]
P_Dash[Traefik Dashboard]
end
end
end%% --- Dobby ---
subgraph DobbyBox [Dobby - ARM VM]
class DobbyBox device
Dobby(Dobby<br/>GameNode2<br/>10.0.0.100)direction style Dobby fill:#37474f,stroke:noneTB
subgraph DobbySvcs [Services]
directionclass TBDobbySvcs stack
D_Wing[Pterodactyl Wing]
D_Agent[Portainer Agent]
D_MC[Minecraft Cluster<br/>PO3 / ATM10 / Bedrock]Cluster]
end
end
end
%% ---==========================================
Home%% NetworkHOME ---NETWORK (Bottom Layer)
%% ==========================================
subgraph HomeNet [Home Network - Deltona<br/>192.168.120.0/22]Deltona]
direction TB
Unifi[Unifi Router<br/>Gateway]Router]
class Unifi device
%% --- Firebolt (The Heavy Lifter) ---
subgraph FireboltBox [Firebolt - Ubuntu Server]
class FireboltBox device
Firebolt(Firebolt<br/>GameNode3<br/>192.168.123.4)
style Firebolt fill:#37474f,stroke:none
subgraph FireboltSvcs [Services]
direction TB
F_Traefik[Traefik<br/>Internal Router]Internal]
F_WG[WG Interface<br/> 10.8.0.5]
%% Stack:Note: InfrastructureI removed the intermediate 'Services' box to save space
subgraph FireboltInfra [Infrastructure]
class FireboltInfra stack
direction TB
F_Auth[Authentik IDP]
F_MySQL[MySQL DB]
F_Homepage[Homepage Dashboard]
F_Watchtower[Watchtower]
F_Autoheal[Autoheal]Homepage]
F_Portainer[Portainer Server]
end
%% Stack: Admin Tools
subgraph FireboltAdmin [Admin Tools]
class FireboltAdmin stack
direction TB
F_Bitwarden[Vaultwarden]
F_Bookstack[BookStack Wiki]
F_Duplicati[Duplicati Backup]Duplicati]
F_FileBrowser[FileBrowser]
F_PMA[phpMyAdmin]
end
%% Stack: Media (Plex)
subgraph FireboltMedia [Media Stack]
class FireboltMedia stack
direction TB
%% Grouping slightly to save vertical space
F_Plex[Plex Media Server]
F_Sonarr[Sonarr]F_Arr[Sonarr F_Radarr[Radarr]/ F_Prowlarr[Radarr / Prowlarr]
F_Overseerr[Overseerr]
F_Tautulli[Tautulli]
F_Unpackerr[Unpackerr]F_Download[qBit F_Qbit[qBittorrent/ -Unpackerr VPN]/ F_Flaresolverr[FlareSolverr]
F_Doplarr[Doplarr]Flare]
end
%% Stack: Games
subgraph FireboltGames [Games Stack]
class FireboltGames stack
direction TB
F_PteroPanel[Pterodactyl Panel]
F_PteroWing[Pterodactyl Wing]
F_PteroDB[MariaDBPanel -DB Panel]& F_PteroRedis[Redis - Panel]Redis]
end
end
end%% --- Norbert ---
subgraph NorbertBox [Norbert - Unraid 7.x]Unraid]
class NorbertBox device
Norbert(Norbert<br/>GameNode1<br/>192.168.123.3)
style Norbert fill:#37474f,stroke:none
subgraph NorbertSvcs [Services]
direction TB
N_Storage[Media Storage]
N_WG[WG Interface<br/> 10.8.0.2]
subgraph NorbertInfra [Infrastructure]Infra direction& TBApps]
class NorbertInfra stack
N_Agent[Portainer Agent]
N_LLM[LLMCord AI Bot]
N_Hass[Home Assistant VM]
N_LLM[LLMCord AI]
end
subgraph NorbertGames [PterodactylGame Node]
directionclass TBNorbertGames stack
N_Wing[Pterodactyl Wing]
N_ArkBot[Ark Discord Bot]
N_MCTest[Minecraft Test]
end
N_Storage[Media Storage]
end
end%% --- PiHole ---
subgraph PiHoleBox [Raspberry Pi]
class PiHoleBox device
PiHole(PiHole<br/>192.168.123.107)direction style PiHole fill:#37474f,stroke:none
subgraph PiApps [Services]TB
PI_SVC[DNS Sinkhole]
PI_VPN[PiVPN Ingress]
end
end
end%% ==========================================
%% ---ALIGNMENT FORCE& VERTICALCONNECTIONS
STACKING%% ---==========================================
%% Force Firebolt Vertical Stack (Crucial for width control)
F_Traefik ~~~ FireboltInfra ~~~ FireboltAdmin ~~~ FireboltMedia ~~~ FireboltGames
PhoenixInfra ~~~ PhoenixApps
NorbertInfra ~~~ NorbertGames
%% ---Traffic WEB TRAFFIC FLOW ---Flows
Internet == HTTPS ==> P_Traefik
%% Path 1: Local
P_Traefik --> P_Kuma & P_Dash
P_Traefik -.->|Log Read| P_Fail2Ban
%% Path 2: TCP Passthrough (The Main Pipe)Tunnel
P_Traefik --> P_WG
P_WG ==>|Tunnel<br/>TCP Pass - SNI|Tunnel| F_WG
F_WG --> F_Traefik
%% Path 3: Firebolt Internal Routing (LANSimplified Proxy)arrows to groups instead of individual apps to reduce clutter)
F_Traefik --> F_AuthFireboltInfra & F_HomepageFireboltAdmin & F_Portainer
F_Traefik --> F_BitwardenFireboltMedia & F_Bookstack & F_Duplicati & F_FileBrowser & F_PMA
F_Traefik --> F_Plex & F_Sonarr & F_Radarr & F_Prowlarr & F_Overseerr & F_Tautulli & F_Qbit
F_Traefik --> F_PteroPanel & F_PteroWingFireboltGames
F_Traefik -.->|LAN Proxy| N_Hass F_Traefik -.->|LAN Proxy|& PI_SVC
%% Path 4: Phoenix DirectSplit Routing (GameNode1 Exclusive)
P_WG -.->|Tunnel<br/>Direct HTTP|Direct| N_WG
N_WG -.-> N_WingNorbertGames
%% ---Game MANAGEMENT & GAME FLOW ---Ports
Internet -- MC Ports --> D_MCDobbySvcs
Internet -- Game Ports --> Unifi
Unifi -- Port Fwd --> F_PteroWingFireboltGames
Unifi -- Port Fwd --> N_MCTestNorbertGames
Unifi -- Port Fwd --> PI_VPN
%% Internal Management
FireboltMedia -.->|NFS/SMB| N_Storage
F_PteroPanel -.->|API Control| F_PteroWing & N_Wing & D_Wing
%% Portainer Management Fleet
F_Portainer -.->|Manage| P_Agent & D_Agent & N_Agent
%%FireboltMedia Styles-.->|NFS| class OracleCloud cloud
class HomeNet home
class P_Traefik,F_Traefik,P_WG,F_WG,N_WG serviceN_Storage