184 lines
5.3 KiB
Markdown
184 lines
5.3 KiB
Markdown
# ITPP Infrastructure Documentation
|
|
|
|
## Server Inventory
|
|
|
|
### Core Server
|
|
- **Hostname**: core
|
|
- **IP**: 152.53.192.33
|
|
- **Provider**: netcup RS 2000 G12
|
|
- **Specs**: RS 2000 G12 — 8 vCPU EPYC 9645, 16 GB DDR5 ECC, 512 GB NVMe
|
|
- **OS**: Debian 13
|
|
- **Role**: Primary infrastructure server
|
|
- **Key Services**:
|
|
- Hermes Agent
|
|
- LiteLLM
|
|
- Vaultwarden
|
|
- Uptime Kuma
|
|
- ops-portal
|
|
- Super Search MCP
|
|
- Cron jobs
|
|
|
|
### App1 Server
|
|
- **Hostname**: app1
|
|
- **IP**: 152.53.36.131
|
|
- **Provider**: netcup RS 4000
|
|
- **Specs**: RS 4000 G12 — 12 vCPU EPYC 9645, 32 GB DDR5 ECC, 1 TB NVMe
|
|
- **OS**: Debian 13
|
|
- **Role**: Application server
|
|
- **Key Services**:
|
|
- Ollama
|
|
- Open WebUI
|
|
- n8n
|
|
- Postgres
|
|
- Caddy
|
|
- SearXNG
|
|
|
|
### App2 Server
|
|
- **Hostname**: app2
|
|
- **IP**: 152.53.39.202
|
|
- **Provider**: netcup RS 4000
|
|
- **Specs**: RS 4000 G12 — 12 vCPU EPYC 9645, 32 GB DDR5 ECC, 1 TB NVMe
|
|
- **OS**: Debian 13
|
|
- **Role**: Application server
|
|
- **Key Services**:
|
|
- UNMS
|
|
- UniFi Controller (v10.0.162, Docker: jacobalberty/unifi)
|
|
- Source: unifi.itpropartner.com (Caddy → localhost:8443)
|
|
- Old controller: 178.156.131.57 (v9.5.21) — scheduled to decommission after migration
|
|
- Backup: /var/lib/unifi/backup/autobackup/ on old server → S3 daily 2 AM ET via unifi-backup-sync.sh
|
|
- Hudu
|
|
- Traccar
|
|
- Caddy (4 domains)
|
|
- Docker
|
|
|
|
### App3 Server
|
|
- **Hostname**: app3
|
|
- **IP**: 152.53.241.111
|
|
- **Provider**: netcup RS 2000
|
|
- **Specs**: RS 2000 G12 — 8 vCPU EPYC 9645, 16 GB DDR5 ECC, 512 GB NVMe
|
|
- **OS**: Debian 13
|
|
- **Role**: Application server
|
|
- **Key Services**:
|
|
- WordPress
|
|
- Apex Track
|
|
|
|
### WPHost02 Server
|
|
- **Hostname**: wphost02
|
|
- **IP**: 5.161.62.38
|
|
- **Provider**: RunCloud
|
|
- **Role**: WordPress hosting
|
|
|
|
### App1 Backup Server
|
|
- **Hostname**: app1-bu
|
|
- **IP**: 5.161.114.8
|
|
- **Provider**: Hetzner CPX11
|
|
- **Role**: Warm standby for app1
|
|
|
|
### Old Hudu Server
|
|
- **Hostname**: hudu (old)
|
|
- **IP**: 178.156.130.130
|
|
- **Provider**: Hetzner
|
|
- **Role**: Fallback for Hudu (7-day retention)
|
|
|
|
## Domain/DNS Map
|
|
|
|
### itpropartner.com
|
|
- **DNS Provider**: SiteGround
|
|
- **Subdomains**:
|
|
- core.itpropartner.com → 152.53.192.33
|
|
- hudu.itpropartner.com → 152.53.39.202
|
|
- ops.itpropartner.com → 152.53.192.33
|
|
- portal.itpropartner.com → 152.53.192.33
|
|
- admin-ai.itpropartner.com → 152.53.36.131
|
|
- uptimekuma.itpropartner.com → 152.53.192.33
|
|
- unifi.itpropartner.com → 152.53.39.202
|
|
|
|
### fleettracker360.com
|
|
- **DNS Provider**: Cloudflare
|
|
- **Subdomains**:
|
|
- gps.fleettracker360.com → 152.53.39.202 (Caddy)
|
|
|
|
### forefrontwireless.com
|
|
- **DNS Provider**: Unknown
|
|
- **Subdomains**:
|
|
- unms.forefrontwireless.com → 152.53.39.202 (Caddy)
|
|
|
|
### debtrecoveryexperts.com
|
|
- **DNS Provider**: Cloudflare
|
|
- **Subdomains**:
|
|
- portal.debtrecoveryexperts.com → 152.53.192.33
|
|
- crm.debtrecoveryexperts.com → Cloudflare Access
|
|
|
|
### iamgmb.com
|
|
- **DNS Provider**: SiteGround
|
|
- **Subdomains**:
|
|
- vault.iamgmb.com
|
|
- shark.iamgmb.com
|
|
- sign.iamgmb.com
|
|
|
|
## Backup Pipeline
|
|
|
|
- **hermes-live-sync**: Every 15 min → s3://hermes-vps-backups/live/
|
|
- **hermes-full-backup**: Daily 1 AM → s3://hermes-vps-backups/hermes-full-backup/
|
|
- **home-router-backup**: Daily 6 AM → s3://mikrotik-ccr-backups/ (currently empty)
|
|
- **unms-backup-sync**: Daily 6 AM
|
|
- **hetzner-weekly-snapshots**: Monday 5 AM
|
|
- **root-essentials-backup**: Daily 3 AM
|
|
- **backup-audit-check**: Daily 2 AM
|
|
- **Warm standby**: app1-bu checks Core every 10 min, auto-failover
|
|
|
|
## Caddy Config
|
|
|
|
### Core Server
|
|
- Proxied paths:
|
|
- /vault/
|
|
- /n8n/
|
|
- /webui/
|
|
- /litellm/
|
|
|
|
### App1 Server
|
|
- Proxied domains:
|
|
- admin-ai.itpropartner.com
|
|
|
|
### App2 Server
|
|
- Proxied domains:
|
|
- hudu.itpropartner.com
|
|
- gps.fleettracker360.com
|
|
- unms.forefrontwireless.com
|
|
- unifi.itpropartner.com
|
|
|
|
## SSL
|
|
|
|
All SSL certificates are issued via Let's Encrypt through Caddy. No manual certificate management is required. Certificates auto-renew.
|
|
|
|
## Service Access
|
|
|
|
| Service | URL | Location | Notes |
|
|
|---|---|---|---|
|
|
| Open WebUI | http://ai.itpropartner.com | app1 | User-facing chat UI |
|
|
| Open WebUI Admin | https://admin-ai.itpropartner.com/ui | app1 | Admin panel (user: admin, password: LiteLLM master key from /root/docker/litellm/.env) |
|
|
| LiteLLM Proxy | https://admin-ai.itpropartner.com | app1 | API gateway for all models |
|
|
| Ops Portal | https://ops.itpropartner.com | Core | Internal operations dashboard |
|
|
| Uptime Kuma | https://uptimekuma.itpropartner.com | Core | Service monitoring |
|
|
| Vaultwarden | https://core.itpropartner.com/vault/ | Core | Password vault |
|
|
| n8n | https://core.itpropartner.com/n8n/ | Core | Workflow automation |
|
|
| CRM (DRE) | https://crm.debtrecoveryexperts.com | Cloudflare | TwentyCRM (Cloudflare Access) |
|
|
|
|
### MCP Access from Open WebUI
|
|
|
|
All app1 MCPs (Super Search, Browser, Filesystem, Email, Git) are wired into Open WebUI's tool system. See [mcp-servers/README.md](../mcp-servers/README.md#access) for details on adding and testing MCPs.
|
|
|
|
## SSH Access
|
|
|
|
- **Key**: itpp-infra key on all servers
|
|
- **User**: ippadmin (sudo privileges)
|
|
- **Root SSH**: Enabled on app1, app2, app3 (key-only exception)
|
|
|
|
## Firewall
|
|
|
|
UFW is enabled on all servers. Current rules for app2:
|
|
- Allowed ports: 22, 80, 443, 3000, 8080, 8082, 8089, 8443, 8843, 3478, 10001
|
|
|
|
## Notes
|
|
|
|
This document is a living record of the ITPP infrastructure. Update it as changes occur. |