Files
firefrost-operations-manual/docs/infrastructure/network-topology-2026.mmd
Claude 772246cae8 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>
2026-03-27 20:03:50 +00:00

177 lines
5.8 KiB
Plaintext

```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