1.9 KiB
1.9 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 in a separate VM, connecting to the Mosquitto broker on CHELSTY.
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
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