- chelsty-runtime.md: references chelsty-infra and chelsty-ha nodes - chelsty-stability-agent.md: scoped to chelsty-infra - topology.yaml: chelsty monolith replaced with chelsty-infra + chelsty-ha
2 KiB
2 KiB
CHELSTY Runtime
This document describes the runtime environment and deployment flow for CHELSTY, an offline-capable home automation edge node.
Runtime Layout
The CHELSTY runtime is located at /opt/homelab.
/opt/homelab/config/: Service-specific configurations and compose overrides./opt/homelab/data/: Persistent data for services./opt/homelab/logs/: Service logs.
Key Service Locations
- Mosquitto:
/opt/homelab/config/mosquitto/ - Zigbee2MQTT:
/opt/homelab/config/zigbee2mqtt/
SLZB-06U Integration
CHELSTY uses a SMLIGHT SLZB-06U Zigbee coordinator connected via Ethernet/TCP.
- Coordinator IP: 192.168.1.105
- Port: 6638
- Protocol: TCP (ezsp adapter)
Zigbee2MQTT is configured to connect to this coordinator over the local network.
Offline & LTE Assumptions
- WAN Resilience: All core automation (Zigbee, MQTT) runs locally on CHELSTY.
- Connectivity: LTE provides intermittent uplink for remote management and Tailscale access.
- Home Assistant: Runs on
chelsty-hanode, connecting to the Mosquitto broker onchelsty-infra.
Deployment Flow
-
Initial Bootstrap: Run the bootstrap script on the CHELSTY node:
./scripts/bootstrap/chelsty-runtime.sh -
Manual Configuration:
- Edit
/opt/homelab/config/zigbee2mqtt/.envwith MQTT credentials. - Add Mosquitto user:
sudo mosquitto_passwd -b /opt/homelab/data/mosquitto/config/password.txt <user> <password>
- Edit
-
Service Deployment: Use the staged deployment runtime:
./scripts/deploy/deploy-node.sh chelsty-infra ./scripts/deploy/deploy-node.sh chelsty-ha
Recovery Procedure
In case of runtime failure:
- Verify Docker and Compose plugin:
docker compose version - Re-run bootstrap script to ensure directory structure and basic configs.
- Check Mosquitto logs:
tail -f /opt/homelab/data/mosquitto/log/mosquitto.log - Verify SLZB-06U reachability:
ping 192.168.1.105