2.2 KiB
2.2 KiB
Consolidation & Migration Plan
Strategy
Target: Move all Hetzner workloads onto netcup root servers. Hetzner's Jul 2026 pricing makes new Hetzner VPSes uneconomical (3-5x netcup for equivalent compute).
Keep at Hetzner: app1-bu (warm standby), tony-vps (Anthony's box)
Netcup target servers
| Server | Tier | Purpose | Est. Cost/mo |
|---|---|---|---|
| Core (exists) | RS 2000 (8C/16G/512GB) | Hermes, portal, Docker, misc services | ~$20 |
| Monitor (new) | RS 1000 (4C/8G/256GB) | AI/LLM, monitoring, automation | ~$12 |
| Web (new) | RS 1000 (4C/8G/256GB) | WISP, web apps, docs | ~$12 |
Migration phases
Phase 1 — ai.itpropartner.com (CRITICAL: 92% disk)
- Containers: LiteLLM, Open WebUI, Ollama, Qdrant, Caddy
- Move to: Monitor (if exists) or Core temporarily
- Method: docker-compose stack transfer
- Disk issue: 199G of 226G used. Ollama models + Qdrant vectors are the likely culprit
Phase 2 — unms.forefrontwireless.com + unifi
- unms: 9 containers (UNMS/UISP, UCRM, RabbitMQ, PostgreSQL, Netflow)
- unifi: Native app + MongoDB + MariaDB
- Move to: Web (new RS 1000)
- Method: docker-compose for UNMS, package migration for UniFi
Phase 3 — hudu.itpropartner.com
- 5 containers: Hudu app, SWAG certbot, PostgreSQL, Redis
- Move to: Web or Monitor (co-locate)
- Method: docker-compose stack transfer
Phase 4 — n8n, docker host, fleettracker360
- n8n: 2 containers (n8n + PostgreSQL)
- docker: 7+ containers (NPM, RustDesk, Uptime-Kuma, StrongSwan)
- fleettracker360: Traccar (Java, 26+ tracking ports)
- Move to: Core (has capacity: 6% disk, 8 dedicated cores)
- Method: docker-compose stacks + Traccar Java migration
Phase 5 — wphost02 (review)
- RunCloud + WordPress sites (Apex, BoxPilot, etc.)
- Option A: Move to Web (rsync + DB dump)
- Option B: Stay at Hetzner — keep simple
Key considerations
- netcup provisioning via SCP REST API:
servercontrolpanel.de/scp-core/api/v1/ - Auth: Keycloak OIDC password grant (customer# + CCP password)
- New netcup root servers take ~5-15 min to provision
- DNS needs updating at SiteGround after each migration
- Test each service for 24h before decommissioning old box