Skip to content

feat(home-automation): Complete Home Automation Stack — Closes #7#571

Open
freshtemp-labs wants to merge 1 commit into
illbnm:masterfrom
freshtemp-labs:feat/home-automation
Open

feat(home-automation): Complete Home Automation Stack — Closes #7#571
freshtemp-labs wants to merge 1 commit into
illbnm:masterfrom
freshtemp-labs:feat/home-automation

Conversation

@freshtemp-labs
Copy link
Copy Markdown

Summary

Implements the complete Home Automation stack as described in #7.

Services Included

Service Image Version
Home Assistant ghcr.io/home-assistant/home-assistant 2024.9.3
Node-RED nodered/node-red 4.0.3
Mosquitto eclipse-mosquitto 2.0.19
Zigbee2MQTT koenkk/zigbee2mqtt 1.40.2
ESPHome ghcr.io/esphome/esphome 2024.9.3

Key Implementation Details

  1. Home Assistant — network_mode: host

    • Required for mDNS/UPnP device discovery (Chromecast, Sonos, etc.)
    • Bridge mode alternative included as commented config with limitation docs
  2. Mosquitto — Security Configuration

    • Authentication enabled (allow_anonymous false)
    • Per-service ACL: homeassistant, zigbee2mqtt, nodered, esphome
    • WebSocket listener on port 9001
    • Password file with placeholder (instructions for generation in README)
  3. Zigbee2MQTT — USB Passthrough

    • Configurable serial device path via ZIGBEE_SERIAL_DEVICE env var
    • Depends on Mosquitto health check
    • udev mounted for device detection
  4. ESPHome — Host Network

    • Uses network_mode: host for OTA updates and mDNS discovery
    • CN mirror alternatives provided for ghcr.io images
  5. CN Network Support

    • Alternative mirror URLs commented in docker-compose.yml for ghcr.io images
    • Huawei Cloud SWR mirrors provided

Files Changed

  • stacks/home-automation/docker-compose.yml — Full 5-service stack
  • stacks/home-automation/.env.example — Environment template
  • stacks/home-automation/README.md — Architecture diagram, install guide, FAQ
  • stacks/home-automation/config/mosquitto/mosquitto.conf — Broker config with auth
  • stacks/home-automation/config/mosquitto/acl — Per-service access control
  • stacks/home-automation/config/mosquitto/passwd — Password file template

Checklist

  • All images pinned to specific versions (no latest)
  • Health checks for all services
  • Traefik labels for bridge-mode services
  • .env management for all configurable values
  • README with architecture, setup guide, and FAQ
  • CN mirror alternatives for ghcr.io images
  • Mosquitto auth + ACL security

Closes #7


Generated with: claude-opus-4-6

- Home Assistant 2024.9.3 with network_mode: host for mDNS/UPnP discovery
- Node-RED 4.0.3 visual flow editor with Traefik integration
- Mosquitto 2.0.19 MQTT broker with auth + ACL security
- Zigbee2MQTT 1.40.2 for Zigbee device gateway
- ESPHome 2024.9.3 for ESP device firmware management
- Mosquitto config: passwd file, ACL per-service, WebSocket support
- .env.example with all configurable variables
- README.md with architecture diagram, install guide, CN mirror alternatives
- Bridge mode alternative for HA (commented) with limitation docs

Closes illbnm#7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY $130] Home Automation — Home Assistant + Node-RED + Zigbee2MQTT

1 participant