# Hetzner Server Audit — July 12, 2026

Complete audit of all Hetzner servers following the Core rebalance plan. Identified 10 servers, ~$160/mo total.

## Active Hetzner Servers

| Server | IP | Type | Cost/mo | Status | Decision |
|--------|----|------|---------|--------|----------|
| **wphost02** | 5.161.62.38 | CPX21 | ~$18 | Running — WP host | Keep until WP migrates to app3, then cancel |
| **unms.forefrontwireless.com** | 5.161.225.131 | CPX21 | ~$18 | Running — UNMS/UISP | **Cancel now** — UNMS already on app2 (152.53.39.202), DNS still points here via SiteGround |
| **unifi** | 178.156.131.57 | CPX21 | ~$18 | Running — UniFi | **Cancel now** — UniFi already on app2, DNS still points to old netcup/SiteGround IP |
| **hudu.itpropartner.com** | 178.156.130.130 | CPX21 | ~$18 | Production — Hudu documentation | **Migrate then cancel** — Master handles DNS |
| **fleettracker360** | 178.156.149.32 | CPX11 | ~$10 | Production — Traccar GPS | **Migrate then cancel** — Sho'Nuff handles Cloudflare DNS |
| **docker** | 178.156.168.35 | CPX11 | ~$10 | Old Docker host | **Cancel now** — services migrated to netcup |
| **old-ai** | 178.156.167.181 | CPX41 | ~$30 | LitellM on 226G disk | **Cancel after LiteLLM migrates to Core** |
| **old app1** | 87.99.144.163 | CPX11 | ~$10 | Replaced by netcup app1 | **Cancel now** |
| **app1-bu** | 5.161.114.8 | CPX11 | ~$10 | Warm standby → core-bu | **Upgrade to CPX31 (4C/16G/160G, ~$22/mo)** for proper Core standby |
| **tony-vps** | 87.99.159.142 | CPX21 | ~$18 | Tony's personal Hermes | **Keep** — not our infrastructure to cancel |

## DNS Status

| Domain | Current DNS | Should Point To | DNS Provider | Action Needed |
|--------|------------|-----------------|-------------|---------------|
| `unms.forefrontwireless.com` | 5.161.225.131 (Hetzner) | 152.53.39.202 (app2) | SiteGround | Master updates A record |
| `unifi.forefrontwireless.com` | 35.212.86.161 (old netcup?) | 152.53.39.202 (app2) | SiteGround | Master updates A record |
| `hudu.itpropartner.com` | 178.156.130.130 (Hetzner) | TBD after migration | Master handles | Master updates DNS |
| `fleettracker360` | 178.156.149.32 (Hetzner) | TBD after migration | Cloudflare | Sho'Nuff updates A record |

## Cancellation Order

1. ✅ UNMS (already migrated, DNS not live)
2. ✅ UniFi (already migrated, DNS not live)
3. ✅ Old app1 (CPX11, replaced)
4. ✅ Docker box (CPX11, services moved)
5. ⏳ old-ai (cancel after LiteLLM moved to Core)
6. ⏳ wphost02 (cancel after WP migrated to app3)
7. ⏳ hudu (migrate then cancel)
8. ⏳ fleettracker (migrate then cancel)

## Potential Savings

Canceling 6 confirmed-dead/migrated servers: ~$104/mo
Upgrading app1-bu (CPX11→CPX31): +$12/mo
**Net savings: ~$92/mo**

## Verification Command

```bash
# List all Hetzner servers
curl -s -H "Authorization: Bearer $HETZNER_API_TOKEN" https://api.hetzner.cloud/v1/servers | \
  python3 -c "import json,sys;[print(f'{s[\"name\"]:<30} {s[\"public_net\"][\"ipv4\"][\"ip\"]:<16} {s[\"server_type\"][\"name\"]:<10} {s[\"status\"]}') for s in json.load(sys.stdin)['servers']]"
```
