docs: add complete network topology diagram for 2026 infrastructure
COMPREHENSIVE MERMAID NETWORK MAP: - All 6 servers visualized (4 VPS + 2 dedicated) - 30+ services mapped with port numbers - Server interconnections documented - Game server locations (13 total) - Integration points (Panel→Wings, Bot→Discord, etc.) SERVERS MAPPED: - Command Center (63.143.34.217) - Gitea, Uptime Kuma, Arbiter, Vaultwarden - Ghost VPS (64.50.188.14) - Ghost CMS, 3x Wiki.js, Nextcloud - Billing VPS (38.68.14.188) - Paymenter, Mailcow (18 containers) - Panel VPS (45.94.168.138) - Pterodactyl Panel - TX1 Dallas (38.68.14.26-30) - Wings, Plane, Dify, n8n, 7 game servers - NC1 Charlotte (216.239.104.130) - Wings, 6 game servers VISUAL FEATURES: - Color-coded by server type (VPS/Dedicated) - Disk usage warnings (Billing 70%, NC1 66%) - Service port numbers documented - Active vs planned connections (solid vs dotted) - Cloudflare CDN layer - Public internet access paths INTEGRATION FLOW: - Pterodactyl Panel → Wings (server management) - Arbiter Bot ↔ Discord (role automation) - Paymenter → Arbiter (subscription webhooks - planned) - Paymenter → Panel (provisioning - planned) - Whitelist Manager → Panel (player sync) - n8n → Discord (workflow webhooks) Created at session start for infrastructure reference. Mermaid diagram renders in compatible viewers (GitHub, Gitea, VS Code). Signed-off-by: Chronicler #43 <claude@firefrostgaming.com>
This commit is contained in:
176
docs/infrastructure/network-topology-2026.mmd
Normal file
176
docs/infrastructure/network-topology-2026.mmd
Normal file
@@ -0,0 +1,176 @@
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph Internet["🌐 PUBLIC INTERNET"]
|
||||
Users["Users/Players"]
|
||||
Discord["Discord API"]
|
||||
CloudFlare["Cloudflare CDN"]
|
||||
end
|
||||
|
||||
subgraph CommandCenter["Command Center VPS<br/>63.143.34.217 / 74.63.218.202<br/>Dallas, TX"]
|
||||
Gitea["Gitea<br/>:3000"]
|
||||
UptimeKuma["Uptime Kuma<br/>:3001"]
|
||||
CodeServer["Code-Server<br/>:8080"]
|
||||
DiscordBot["The Arbiter Bot<br/>:3500"]
|
||||
Vaultwarden["Vaultwarden<br/>Docker :8001"]
|
||||
NginxCC["Nginx<br/>:80/:443"]
|
||||
MySQLCC["MySQL<br/>:3306"]
|
||||
end
|
||||
|
||||
subgraph GhostVPS["Ghost VPS<br/>64.50.188.14<br/>Chicago, IL"]
|
||||
Ghost["Ghost CMS<br/>:2368"]
|
||||
Wiki1["Wiki.js Sub<br/>:3100"]
|
||||
Wiki2["Wiki.js Staff<br/>:3101"]
|
||||
Wiki3["Wiki.js Pokerole<br/>:3102"]
|
||||
Nextcloud["Nextcloud<br/>PHP-FPM"]
|
||||
NginxGhost["Nginx<br/>:80/:443"]
|
||||
MySQLGhost["MySQL<br/>:3306"]
|
||||
PostgresGhost["PostgreSQL<br/>:5432"]
|
||||
RedisGhost["Redis<br/>:6379"]
|
||||
end
|
||||
|
||||
subgraph BillingVPS["Billing VPS<br/>38.68.14.188<br/>Chicago, IL<br/>⚠️ 70% Disk"]
|
||||
Paymenter["Paymenter<br/>PHP-FPM"]
|
||||
Mailcow["Mailcow Stack<br/>:8080/:8443<br/>18 Containers"]
|
||||
WhitelistMgr["Whitelist Mgr<br/>:5001"]
|
||||
NginxBilling["Nginx<br/>:80/:443"]
|
||||
MariaDBBilling["MariaDB<br/>:3306"]
|
||||
end
|
||||
|
||||
subgraph PanelVPS["Panel VPS<br/>45.94.168.138<br/>Charlotte, NC"]
|
||||
PteroPanel["Pterodactyl Panel<br/>PHP-FPM"]
|
||||
NginxPanel["Nginx<br/>:80/:443"]
|
||||
MariaDBPanel["MariaDB<br/>:3306"]
|
||||
RedisPanel["Redis<br/>:6379"]
|
||||
end
|
||||
|
||||
subgraph TX1["TX1 Dallas Dedicated<br/>38.68.14.26-30<br/>251GB RAM, 911GB Disk<br/>✅ 12% Usage"]
|
||||
Wings1["Wings<br/>:8080/:2022"]
|
||||
Plane["Plane Stack<br/>:8090<br/>20 Containers"]
|
||||
Dify["Dify/Codex<br/>:3000/:5001"]
|
||||
N8N["n8n<br/>:5678"]
|
||||
Qdrant["Qdrant<br/>:6333"]
|
||||
Ollama["Ollama AI"]
|
||||
NginxTX1["Nginx<br/>:80/:443"]
|
||||
|
||||
subgraph GamesTX1["Game Servers - TX1"]
|
||||
Game1TX["Stoneblock 4<br/>.26:25565"]
|
||||
Game2TX["Society Sunlit<br/>.28:25565"]
|
||||
Game3TX["All The Mons Priv<br/>.30:25565"]
|
||||
Game4TX["FoundryVTT<br/>.26:30000"]
|
||||
Game5TX["Ars Eclectica<br/>.26:5520"]
|
||||
Game6TX["Create Plus<br/>.26:25566"]
|
||||
Game7TX["Vanilla<br/>.26:25567"]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph NC1["NC1 Charlotte Dedicated<br/>216.239.104.130<br/>251GB RAM, 98GB Disk<br/>⚠️ 66% Usage"]
|
||||
Wings2["Wings<br/>:8080/:2022"]
|
||||
MariaDBNC["MariaDB<br/>:3306"]
|
||||
|
||||
subgraph GamesNC1["Game Servers - NC1"]
|
||||
Game1NC["ATM10<br/>:25569"]
|
||||
Game2NC["Hytale<br/>:5520-5521"]
|
||||
Game3NC["All of Create<br/>:25568"]
|
||||
Game4NC["ATM10 Sky<br/>:25565"]
|
||||
Game5NC["All Mons Pub<br/>:25566"]
|
||||
Game6NC["Mythcraft 5<br/>:25567"]
|
||||
end
|
||||
end
|
||||
|
||||
%% Public Access
|
||||
Users -->|HTTPS| CloudFlare
|
||||
CloudFlare -->|HTTPS| NginxCC
|
||||
CloudFlare -->|HTTPS| NginxGhost
|
||||
CloudFlare -->|HTTPS| NginxBilling
|
||||
CloudFlare -->|HTTPS| NginxPanel
|
||||
CloudFlare -->|HTTPS| NginxTX1
|
||||
|
||||
Users -->|TCP/UDP| GamesTX1
|
||||
Users -->|TCP/UDP| GamesNC1
|
||||
|
||||
%% Command Center Internal
|
||||
NginxCC --> Gitea
|
||||
NginxCC --> UptimeKuma
|
||||
NginxCC --> CodeServer
|
||||
NginxCC --> DiscordBot
|
||||
NginxCC --> Vaultwarden
|
||||
Gitea --> MySQLCC
|
||||
|
||||
%% Ghost VPS Internal
|
||||
NginxGhost --> Ghost
|
||||
NginxGhost --> Wiki1
|
||||
NginxGhost --> Wiki2
|
||||
NginxGhost --> Wiki3
|
||||
NginxGhost --> Nextcloud
|
||||
Ghost --> MySQLGhost
|
||||
Wiki1 --> PostgresGhost
|
||||
Wiki2 --> PostgresGhost
|
||||
Wiki3 --> PostgresGhost
|
||||
Ghost --> RedisGhost
|
||||
Wiki1 --> RedisGhost
|
||||
Wiki2 --> RedisGhost
|
||||
Wiki3 --> RedisGhost
|
||||
|
||||
%% Billing VPS Internal
|
||||
NginxBilling --> Paymenter
|
||||
NginxBilling --> Mailcow
|
||||
NginxBilling --> WhitelistMgr
|
||||
Paymenter --> MariaDBBilling
|
||||
|
||||
%% Panel VPS Internal
|
||||
NginxPanel --> PteroPanel
|
||||
PteroPanel --> MariaDBPanel
|
||||
PteroPanel --> RedisPanel
|
||||
|
||||
%% TX1 Internal
|
||||
NginxTX1 --> Plane
|
||||
NginxTX1 --> Dify
|
||||
NginxTX1 --> N8N
|
||||
Dify --> Qdrant
|
||||
Dify --> Ollama
|
||||
Wings1 --> GamesTX1
|
||||
|
||||
%% NC1 Internal
|
||||
Wings2 --> GamesNC1
|
||||
Wings2 --> MariaDBNC
|
||||
|
||||
%% Server to Server
|
||||
PteroPanel -->|Wings API| Wings1
|
||||
PteroPanel -->|Wings API| Wings2
|
||||
DiscordBot -->|WebSocket/HTTPS| Discord
|
||||
Paymenter -.->|Webhook Planned| DiscordBot
|
||||
Paymenter -.->|API Planned| PteroPanel
|
||||
WhitelistMgr -->|Panel API| PteroPanel
|
||||
N8N -->|Webhooks| Discord
|
||||
|
||||
%% Styling
|
||||
classDef vps fill:#4ECDC4,stroke:#333,stroke-width:2px,color:#000
|
||||
classDef dedicated fill:#FF6B35,stroke:#333,stroke-width:3px,color:#000
|
||||
classDef service fill:#A855F7,stroke:#333,stroke-width:1px,color:#fff
|
||||
classDef warning fill:#FFD700,stroke:#333,stroke-width:2px,color:#000
|
||||
|
||||
class CommandCenter,GhostVPS,BillingVPS,PanelVPS vps
|
||||
class TX1,NC1 dedicated
|
||||
class Gitea,Ghost,Paymenter,PteroPanel,Wings1,Wings2,Plane,Dify service
|
||||
class BillingVPS,NC1 warning
|
||||
|
||||
style Users fill:#90EE90,stroke:#333,stroke-width:2px
|
||||
style Discord fill:#5865F2,stroke:#333,stroke-width:2px
|
||||
style CloudFlare fill:#F38020,stroke:#333,stroke-width:2px
|
||||
```
|
||||
|
||||
**Legend:**
|
||||
- 🔵 Blue = VPS Servers
|
||||
- 🔴 Red = Dedicated Servers (251GB RAM each)
|
||||
- 🟣 Purple = Key Services
|
||||
- 🟡 Yellow Border = Warning (High Disk Usage)
|
||||
- ─── Solid Lines = Active Connections
|
||||
- ─ ─ Dotted Lines = Planned Connections
|
||||
|
||||
**Key Interconnections:**
|
||||
1. **Panel → Wings**: Pterodactyl management plane
|
||||
2. **Discord Bot ↔ Discord**: Real-time bot communication
|
||||
3. **Paymenter → Discord Bot**: Subscription automation (planned)
|
||||
4. **Paymenter → Panel**: Server provisioning (planned)
|
||||
5. **Whitelist Manager → Panel**: Player whitelist sync
|
||||
6. **Cloudflare → All Public Services**: CDN and DDoS protection
|
||||
Reference in New Issue
Block a user