From 26d559feb5aa92bd6ccb873302c70c7fc89d556f Mon Sep 17 00:00:00 2001 From: jeremy Date: Sun, 8 Mar 2026 19:03:19 -0500 Subject: [PATCH] Phase 2 Step 2: Migrate Home Assistant + ESPHome back to hf-pdocker-01 - HA and ESPHome now running on hf-pdocker-01 via smarthome compose stack - Updated core.config_entries: MQTT broker, go2rtc, Frigate URLs all point to 192.168.86.192 - Removed stale .ha_run.lock before startup - Stopped and removed HA + ESPHome containers from bart - All smarthome services (mosquitto, homeassistant, esphome) now consolidated on hf-pdocker-01 --- CLAUDE.md | 15 ++++- .../smarthome/docker-compose.yml | 65 +++++++++++++++++++ 2 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 compose/hf-pdocker-01/smarthome/docker-compose.yml diff --git a/CLAUDE.md b/CLAUDE.md index cf140b7..7b7b41d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -23,6 +23,9 @@ 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 ├── [SWARM] Telegraf (global), Node-exporter (global) ├── [CRON] sync-frigate-to-nas (daily 2am), cleanup-frigate-media (weekly Sun 3am) @@ -35,9 +38,6 @@ bart (Worker, 15GB RAM, i5-4570T, HDD) -- ALSO HOSTING FAILOVER SERVICES ├── [COMPOSE] Farm Agent (:8889) ├── [COMPOSE] Watchtower ├── [SWARM] Telegraf (global), Node-exporter (global) -├── [COMPOSE] Home Assistant (:8123) -- FAILOVER from hf-pdocker-01 -├── [COMPOSE] ESPHome (:6052) -- FAILOVER from hf-pdocker-01 -├── [COMPOSE] Mosquitto (:1883, :8883) -- FAILOVER from hf-pdocker-01 ├── [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) @@ -59,7 +59,16 @@ 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) ``` diff --git a/compose/hf-pdocker-01/smarthome/docker-compose.yml b/compose/hf-pdocker-01/smarthome/docker-compose.yml new file mode 100644 index 0000000..8070fa1 --- /dev/null +++ b/compose/hf-pdocker-01/smarthome/docker-compose.yml @@ -0,0 +1,65 @@ +services: + homeassistant: + image: ghcr.io/home-assistant/home-assistant:stable + container_name: homeassistant + restart: unless-stopped + privileged: true + environment: + - TZ=America/Chicago + volumes: + - /mnt/docker-data/configs/homeassistant:/config + ports: + - "8123:8123" + dns: + - 192.168.86.1 + - 8.8.8.8 + mem_limit: 4G + memswap_limit: 4G + depends_on: + - mosquitto + logging: + driver: "json-file" + options: + max-size: "50m" + max-file: "3" + + esphome: + image: esphome/esphome:latest + container_name: esphome + restart: unless-stopped + environment: + - TZ=America/Chicago + volumes: + - /mnt/docker-data/configs/esphome/config:/config + ports: + - "6052:6052" + mem_limit: 2G + memswap_limit: 2G + healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost:6052/ || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + logging: + driver: "json-file" + options: + max-size: "50m" + max-file: "3" + + mosquitto: + image: eclipse-mosquitto:latest + container_name: mosquitto + restart: unless-stopped + volumes: + - /mnt/docker-data/configs/mosquitto:/mosquitto + ports: + - "1883:1883" + - "8883:8883" + mem_limit: 128M + memswap_limit: 128M + logging: + driver: "json-file" + options: + max-size: "50m" + max-file: "3"