infra: hf-pdocker-01 Phase 2 migration — all services returned from failover
Node hf-pdocker-01 hardware fully repaired and rebuilt (2026-03-08). This commit captures the completed Phase 2 migration where all failover services are returned from hf-pdocker-02/bart back to hf-pdocker-01 as their permanent home. New compose stacks for hf-pdocker-01: - adguard: AdGuard Home DNS/ad-blocking (:3000, :53) - traefik: Reverse proxy with TLS (:80/:443/:8090), .env.example included - monitoring: Grafana, Prometheus, Alertmanager, InfluxDB, Blackbox, matrix-receiver - smarthome: Home Assistant (:8123), ESPHome (:6052), Mosquitto (:1883/:8883) - matrix: Synapse homeserver (:8008) + synapse-db + well-known (:8010) - guacamole: Guacamole (:8199) + guacd + guacamole-db (local MySQL) - farm-manager: Farm Manager API (:8888) Updated compose stacks for hf-pdocker-01: - frigate-notify: MQTT/Matrix hosts reverted from bart (.167) to hf-pdocker-01 (.192) Documentation: - docs/plans/2026-03-08-hf-pdocker-01-phase2-migration.md (new) - CLAUDE.md: Full service distribution update — failover labels removed, hf-pdocker-02/bart cleaned up to reflect only permanent services, NetClaw/Aaron added to hf-pdocker-02, DNSStubListener fix noted Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,7 @@ This repository manages a **homelab infrastructure** with self-hosted services r
|
||||
|
||||
**Nodes:**
|
||||
- **hf-pdocker-01** (192.168.86.192) - Swarm Manager, core infrastructure + Frigate NVR - **RESTORED (2026-03-08)**
|
||||
- **hf-pdocker-02** (192.168.86.100) - Standalone Compose services (dev tools, utilities) + **FAILOVER: Traefik, Monitoring, AdGuard**
|
||||
- **hf-pdocker-02** (192.168.86.100) - Standalone Compose services (dev tools, utilities)
|
||||
- **bart** (192.168.86.167) - Standalone Compose services (media stack, OpenVAS)
|
||||
|
||||
**Synology NAS** (192.168.86.30) - Centralized NFS storage for all service data
|
||||
@@ -23,53 +23,39 @@ This repository manages a **homelab infrastructure** with self-hosted services r
|
||||
hf-pdocker-01 (Manager, 23GB RAM, i7-7700T, NVMe, HD 630 GPU) -- RESTORED (2026-03-08, hardware repaired)
|
||||
├── [COMPOSE] Frigate NVR (:5000) -- OpenVINO GPU detector, 13 cameras active
|
||||
├── [COMPOSE] Frigate-Notify v2 (:5199) -- MQTT->AI->Matrix notifications
|
||||
├── [COMPOSE] Home Assistant (:8123) -- MIGRATED BACK 2026-03-08
|
||||
├── [COMPOSE] ESPHome (:6052) -- MIGRATED BACK 2026-03-08
|
||||
├── [COMPOSE] Mosquitto (:1883, :8883) -- MIGRATED BACK 2026-03-08
|
||||
├── [COMPOSE] Farm Agent (:8889) -- image built locally from Gitea
|
||||
├── [COMPOSE] Home Assistant (:8123)
|
||||
├── [COMPOSE] ESPHome (:6052)
|
||||
├── [COMPOSE] Mosquitto (:1883, :8883)
|
||||
├── [COMPOSE] Synapse/Matrix (:8008) + synapse-db (postgres) + wellknown (:8010)
|
||||
├── [COMPOSE] Guacamole (:8199) + guacd + guacamole-db (mysql, LOCAL /var/lib/guacamole-db)
|
||||
├── [COMPOSE] AI Agents (margaret:18790, spirit:18791, clippy:18792, bob:18800)
|
||||
├── [COMPOSE] Traefik (reverse proxy, ports 80/443/8090)
|
||||
├── [COMPOSE] AdGuard Home (:3000, :53)
|
||||
├── [COMPOSE] Monitoring (Grafana :3001, Prometheus :9095, Alertmanager :9093, InfluxDB :8086, Blackbox :9115, matrix-receiver :9094)
|
||||
├── [COMPOSE] Farm Manager API (:8888) -- dashboard + API server
|
||||
├── [COMPOSE] Farm Agent (:8889)
|
||||
├── [SWARM] Telegraf (global), Node-exporter (global)
|
||||
├── [CRON] sync-frigate-to-nas (daily 2am), cleanup-frigate-media (weekly Sun 3am)
|
||||
├── 5TB USB disk at /mnt/frigate-recordings (Frigate recordings storage)
|
||||
[Failover services remain on hf-pdocker-02/bart until Phase 2]
|
||||
|
||||
bart (Worker, 15GB RAM, i5-4570T, HDD) -- ALSO HOSTING FAILOVER SERVICES
|
||||
bart (Worker, 15GB RAM, i5-4570T, HDD)
|
||||
├── [COMPOSE] Media Stack (Jellyfin, Sonarr, Radarr, SABnzbd, NZBHydra2, Jellyseerr)
|
||||
├── [COMPOSE] OpenVAS (vulnerability scanner)
|
||||
├── [COMPOSE] Farm Agent (:8889)
|
||||
├── [COMPOSE] Watchtower
|
||||
├── [SWARM] Telegraf (global), Node-exporter (global)
|
||||
├── [COMPOSE] Synapse/Matrix (:8008) + synapse-db (postgres) + wellknown (:8010) -- FAILOVER from hf-pdocker-01
|
||||
├── [COMPOSE] Guacamole (:8199) + guacd + guacamole-db (mysql, LOCAL /var/lib/guacamole-db) -- FAILOVER from hf-pdocker-01
|
||||
├── [COMPOSE] AI Agents (margaret, spirit, bob, clippy) -- FAILOVER from hf-pdocker-01 (2026-03-07)
|
||||
|
||||
hf-pdocker-02 (Worker, 7.6GB RAM, i7-6700T, HDD) -- PRIMARY NODE DURING FAILOVER
|
||||
├── [COMPOSE] Traefik (reverse proxy, ports 80/443/8090) -- FAILOVER from hf-pdocker-01
|
||||
├── [COMPOSE] Monitoring (Grafana :3001, Prometheus :9095, Alertmanager :9093, InfluxDB :8086, Blackbox :9115, matrix-receiver :9094) -- FAILOVER
|
||||
├── [COMPOSE] AdGuard Home (:3000, :53) -- FAILOVER
|
||||
hf-pdocker-02 (Worker, 7.6GB RAM, i7-6700T, HDD)
|
||||
├── [COMPOSE] Unifi + unifi-db (MongoDB)
|
||||
├── [COMPOSE] Gitea + gitea-db (PostgreSQL)
|
||||
├── [COMPOSE] Semaphore + semaphore-db (MySQL)
|
||||
├── [COMPOSE] Wiki.js + wikijs-db (PostgreSQL)
|
||||
├── [COMPOSE] Vaultwarden, Actual Budget, MCPO, Trivy
|
||||
├── [COMPOSE] NetClaw/Aaron (:1179) -- AI network agent
|
||||
├── [COMPOSE] Farm Agent (:8889)
|
||||
├── [COMPOSE] Watchtower
|
||||
├── [SWARM] Telegraf (global), Node-exporter (global), Portainer
|
||||
├── [SWARM] Telegraf (global), Node-exporter (global)
|
||||
|
||||
Services restored to hf-pdocker-01 (post-recovery):
|
||||
- Frigate NVR (:5000) -- back on hf-pdocker-01 with GPU
|
||||
- Frigate-Notify v2 (:5199) -- deployed 2026-03-08
|
||||
- Farm Agent (:8889)
|
||||
- Mosquitto MQTT (:1883, :8883) -- migrated back 2026-03-08
|
||||
- Home Assistant (:8123) -- migrated back 2026-03-08
|
||||
- ESPHome (:6052) -- migrated back 2026-03-08
|
||||
Services still on failover nodes (not yet returned):
|
||||
- Matrix/Synapse -- still on bart
|
||||
- Guacamole -- still on bart
|
||||
- AI Agents -- still on bart
|
||||
- Traefik -- still on hf-pdocker-02
|
||||
- Monitoring stack -- still on hf-pdocker-02
|
||||
- AdGuard Home -- still on hf-pdocker-02
|
||||
- Farm Manager API (not yet migrated back)
|
||||
```
|
||||
|
||||
## Working with This Repository
|
||||
@@ -91,8 +77,8 @@ All service data lives on the **Synology NAS** via NFS, mounted at `/mnt/docker-
|
||||
├── media/ # Frigate recordings
|
||||
├── traefik/ # Let's Encrypt certs
|
||||
└── compose/ # Standalone compose files per node
|
||||
├── hf-pdocker-01/{frigate,frigate-notify}/
|
||||
├── hf-pdocker-02/{unifi,gitea,semaphore,wikijs,vaultwarden,actual-budget,mcpo,trivy,watchtower}/
|
||||
├── hf-pdocker-01/{frigate,frigate-notify,matrix,smarthome,guacamole,ai-agents,traefik,adguard}/
|
||||
├── hf-pdocker-02/{unifi,gitea,semaphore,wikijs,vaultwarden,actual-budget,mcpo,trivy,netclaw,watchtower}/
|
||||
└── bart/{media,openvas,watchtower}/
|
||||
```
|
||||
|
||||
@@ -163,9 +149,18 @@ compose/ # Standalone Compose definitions (deployed per-node)
|
||||
- Home Assistant: :8123
|
||||
- ESPHome: :6052
|
||||
- Mosquitto: :1883
|
||||
- Matrix/Synapse: :8008
|
||||
- Well-known (Matrix federation): :8010
|
||||
- Guacamole: :8199
|
||||
- AdGuard Home: :3000 (DNS: :53)
|
||||
- Traefik Dashboard: :8090 (HTTP: :80, HTTPS: :443)
|
||||
- Grafana: :3001
|
||||
- AdGuard: :3000
|
||||
- Traefik Dashboard: :8090
|
||||
- Prometheus: :9095
|
||||
- Alertmanager: :9093
|
||||
- InfluxDB: :8086
|
||||
- Blackbox Exporter: :9115
|
||||
- matrix-alertmanager-receiver: :9094
|
||||
- AI Agents (margaret :18790, spirit :18791, clippy :18792, bob :18800) -- loopback only
|
||||
- Farm Manager: :8888 (dashboard + API)
|
||||
- Farm Agent: :8889
|
||||
|
||||
@@ -179,6 +174,7 @@ compose/ # Standalone Compose definitions (deployed per-node)
|
||||
- Actual Budget: :5006
|
||||
- MCPO: :8001
|
||||
- Trivy: :4954
|
||||
- NetClaw/Aaron: :1179 (internal only)
|
||||
|
||||
**bart (192.168.86.167):**
|
||||
- Farm Agent: :8889
|
||||
@@ -189,7 +185,6 @@ compose/ # Standalone Compose definitions (deployed per-node)
|
||||
- NZBHydra2: :5076
|
||||
- Jellyseerr: :5055
|
||||
- OpenVAS: :9392
|
||||
- AI Agents (margaret :18790, spirit :18791, clippy :18792, bob :18800) -- loopback only, failover from hf-pdocker-01
|
||||
|
||||
**GPU Machine (192.168.86.196, RTX 3090):**
|
||||
- Ollama: :11434 (vision LLM, llava:13b)
|
||||
@@ -305,3 +300,4 @@ All persistent data on NAS at `/mnt/docker-data/`:
|
||||
4. **InfluxDB Connection**: Telegraf may show timeout errors if InfluxDB is not running
|
||||
5. **Frigate cameras**: Cameras on 192.168.44.x subnet may show RTSP timeouts (check camera network)
|
||||
6. **Registry container**: Stopped on hf-pdocker-01 to free port 5000 for Frigate
|
||||
7. **systemd-resolved DNSStubListener**: Must be disabled on any node running AdGuard Home (port 53 conflict). Fix: `/etc/systemd/resolved.conf.d/nostub.conf` with `DNSStubListener=no`, then `systemctl restart systemd-resolved`. Applied on hf-pdocker-01 and hf-pdocker-02.
|
||||
|
||||
Reference in New Issue
Block a user