Initial commit — 2026-07-15
This commit is contained in:
@@ -0,0 +1,167 @@
|
||||
# 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.
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user