Refresh HVAC docs and topology diagram

This commit is contained in:
Carlo Costanzo
2026-06-30 11:32:04 -04:00
parent 78ca089e61
commit dd4eefba0f
8 changed files with 64 additions and 90 deletions
@@ -1,9 +1,11 @@
# Bear Stone topology notes
- This is a deployment inventory diagram for blog and documentation use.
- `docker10` is pinned to ProxMox1 (`qemu/105`) based on the current workspace inventory.
- `codex-appliance` is pinned to ProxMox1 (`qemu/113`) and owns the BearClaw/Codex runtime, OneNote indexer, MCP stdio wrappers, Portainer agent, and Dozzle agent.
- `docker14`, `docker17`, and `docker69` are shown as cluster-managed Docker VMs on shared storage because the current AGENTS inventory does not pin them to a single Proxmox node.
- The diagram is intentionally hierarchy-first. It shows hosts and containers, not every runtime network edge between services.
- Infra Info is omitted because it was removed; BearClaw Admin owns the replacement infrastructure planning view.
- Use the Mermaid source as the editable system-of-record, then import it into Excalidraw for spacing and visual cleanup when a polished graphic is needed.
- This is the public, README-friendly deployment summary for the Home Assistant repository.
- The topology is sourced from the workspace `AGENTS.md` inventory and stays high-level enough for GitHub browsing.
- `docker10` and `codex-appliance` are pinned to ProxMox1; durable VM storage is represented by `Prox-NFS01`.
- `codex-appliance` is summarized as the Codex/MCP runtime plus admin and service agents.
- `docker14`, `docker17`, and `docker69` are shown as shared-storage Docker VMs because the current workspace inventory does not pin them to one Proxmox node.
- `docker10` owns the Home Assistant core stack; `wyze-bridge` stays there and Frigate on `docker14` consumes its RTSP feed.
- `docker17` groups LAN-only tools and internal apps; `docker69` groups Cloudflare-tunneled public apps and WordPress.
- The diagram intentionally summarizes service groups rather than every container, port, or private path.
- Use the Mermaid source as the editable system of record, then import it into Excalidraw for spacing and visual cleanup when a polished graphic is needed.
@@ -1,85 +1,49 @@
flowchart TD
Internet[Internet and Cloudflare]
subgraph PX[Bear Stone Proxmox cluster]
P1[ProxMox1]
P2[ProxMox2]
NFS[Prox-NFS01 shared storage]
FLOAT[Cluster-managed Docker VMs]
end
P1 --> D10VM[docker10 VM]
P1 --> CODEXVM[codex-appliance VM]
P1 --> FLOAT
P2 --> FLOAT
NFS --> D10VM
NFS --> D14VM[docker14 VM]
NFS --> D17VM[docker17 VM]
NFS --> D69VM[docker69 VM]
FLOAT --> D14VM
FLOAT --> D17VM
FLOAT --> D69VM
subgraph CODEX[codex-appliance - BearClaw and MCP runtime]
CX_CODEX[codex_appliance]
CX_ONENOTE[onenote-indexer]
CX_MCP[MCP stdio wrappers]
CX_PORT[portainer_agent]
CX_DOZZLE[dozzle_agent_13]
subgraph D10[docker10 - Home Assistant core]
HA[Home Assistant]
Core[MQTT, Matter, ESPHome, UniFi, Pi-hole]
Wyze[Wyze Bridge]
end
subgraph D10[docker10 - primary home stack]
D10_HA[home-assistant]
D10_PI[pihole]
D10_MQTT[mqtt]
D10_DB[mariadb]
D10_BK[mariadb-backup]
D10_UNIFI[unifi]
D10_WYZE[wyze-bridge]
D10_PORT[portainer]
D10_ESP[esphome]
D10_MATTER[matter-server]
D10_DOZZLE[dozzle_agent]
D10_TUG[tugtainer-agent]
D10_PROXY[tugtainer_socket_proxy]
subgraph D14[docker14 - Cameras and DNS standby]
Frigate[Frigate NVR]
DNS2[Secondary Pi-hole and Nebula Sync]
end
subgraph D14[docker14 - camera and DNS standby]
D14_FRIGATE[frigate]
D14_PI[pihole_secondary]
D14_NEBULA[nebula_sync]
D14_PORT[portainer_agent]
D14_DOZZLE[dozzle_agent]
D14_TUG[tugtainer-agent]
D14_PROXY[tugtainer_socket_proxy]
subgraph CX[codex-appliance - Codex runtime]
Runtime[Codex and MCP runtime]
Ops[Admin UI and service agents]
end
subgraph D17[docker17 - internal apps and tooling]
D17_DASHY[dashy]
D17_DOZZLE[dozzle]
D17_TUG_UI[tugtainer]
D17_DUP[duplicati]
D17_PANEL[panel_notes]
D17_CRUISE[cruise_tracker]
D17_POKER[poker_tracker]
D17_RV[rvtools_ppt_web]
D17_AGENT[docker_socket_proxy]
D17_DOZZLE_AGENT[dozzle_agent]
D17_TUG_AGENT[tugtainer-agent]
D17_TUG_PROXY[tugtainer_socket_proxy]
subgraph D17[docker17 - Internal apps and tools]
Tools[Dashy, Dozzle, Tugtainer, Duplicati]
InternalApps[Poker, Cruise, RVTools, TeslaMate]
end
subgraph D69[docker69 - public edge and utility apps]
D69_CF_WP[cloudflared_wp]
D69_CF_KCH[cloudflared_kch]
D69_WP_DB[wordpress_db]
D69_WP[wordpress_wp]
D69_FOODIE[foodie_tracker]
D69_IMPOSTER[imposter]
D69_BUDGET[college_budget_app]
D69_TAPPLE[tapple]
D69_GAMES[games_hub]
D69_KCH[kingcrafthomes]
D69_LMEDIA[lmediaservices]
D69_PORT[portainer_agent]
D69_DOZZLE[dozzle_agent]
D69_TUG[tugtainer-agent]
subgraph D69[docker69 - Public edge and apps]
Tunnel[Cloudflare tunnels]
PublicApps[WordPress, panel QR app, public apps]
end
P1 --> HA
P1 --> Runtime
P1 --> NFS
P2 --> NFS
NFS --> Frigate
NFS --> Tools
NFS --> Tunnel
Internet --> Tunnel
Tunnel --> PublicApps
HA --> Core
Wyze -->|RTSP| Frigate
Frigate --> HA
HA --> Runtime
Runtime --> HA