From 85f20db1e713aca32872fdba435499c13ca2fa5d Mon Sep 17 00:00:00 2001 From: oskar Date: Tue, 4 Aug 2026 15:07:09 +0200 Subject: [PATCH] feat(kb): SPLIT chelsty-runtime -> node + runbook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kb/nodes/chelsty-infra.md — runtime layout, SLZB-06U, ograniczenia sieciowe, lokalizacja configu Z2M, chelsty-ha bez node-agenta, backup sets kb/runbooks/chelsty-deploy-recovery.md — Deployment Flow + Recovery Procedures Tresc sekcji nietknieta; kontrola multizbioru linii == oryginal. Co-Authored-By: Claude Opus 5 (1M context) --- .../nodes/chelsty-infra.md | 52 ++++-------------- kb/runbooks/chelsty-deploy-recovery.md | 54 +++++++++++++++++++ 2 files changed, 64 insertions(+), 42 deletions(-) rename docs/chelsty-runtime.md => kb/nodes/chelsty-infra.md (75%) create mode 100644 kb/runbooks/chelsty-deploy-recovery.md diff --git a/docs/chelsty-runtime.md b/kb/nodes/chelsty-infra.md similarity index 75% rename from docs/chelsty-runtime.md rename to kb/nodes/chelsty-infra.md index ceea3fe..e3bf022 100644 --- a/docs/chelsty-runtime.md +++ b/kb/nodes/chelsty-infra.md @@ -1,3 +1,13 @@ +--- +okf: "0.1" +type: node +visibility: private +status: active +updated: 2026-05-27 +links: + - ../runbooks/chelsty-deploy-recovery.md +--- + # CHELSTY Runtime This document describes the runtime environment and deployment flow for CHELSTY, an offline-capable home automation edge node split across two VMs. @@ -100,48 +110,6 @@ services: Remove `monitor: false` once node-agent is bootstrapped on this VM. -## Deployment Flow - -### Initial Bootstrap -```bash -./scripts/bootstrap/chelsty-runtime.sh -``` - -### Deploy services -```bash -./scripts/deploy/deploy-node.sh chelsty-infra -./scripts/deploy/deploy-node.sh chelsty-ha -``` - -### Manual (SSH) — chelsty-infra uses docker-compose v1 -```bash -ssh oskar@100.122.201.22 -cd ~/homelab-codex-ws/services/ -docker-compose -f docker-compose.yml \ - -f ../../hosts/chelsty-infra/runtime//docker-compose.override.yml \ - up -d --build --force-recreate -``` - -> **Note:** `docker compose` (v2) is **not** available on chelsty-infra — always use `docker-compose` (hyphenated, v1 1.29.2). - -## Recovery Procedures - -### Mosquitto stopped -```bash -ssh oskar@100.122.201.22 "docker start mosquitto" -# Ensure restart policy is correct: -docker update --restart unless-stopped mosquitto -``` - -### Zigbee2MQTT won't start -1. Check logs: `docker logs zigbee2mqtt --tail 50` -2. Verify SLZB-06U reachable from host: `nc -zv 192.168.1.105 6638` -3. Verify config is not empty: `cat /opt/homelab/data/zigbee2mqtt/data/configuration.yaml` -4. If config missing, recreate from the minimal template above - -### SLZB-06U unreachable -`192.168.1.105:6638` EHOSTUNREACH means the coordinator is offline or the LAN is down. Zigbee2MQTT will keep retrying — no restart needed once the coordinator returns. - ## Critical Backup Sets | Data | Path | diff --git a/kb/runbooks/chelsty-deploy-recovery.md b/kb/runbooks/chelsty-deploy-recovery.md new file mode 100644 index 0000000..f1b66ba --- /dev/null +++ b/kb/runbooks/chelsty-deploy-recovery.md @@ -0,0 +1,54 @@ +--- +okf: "0.1" +type: runbook +visibility: private +status: active +updated: 2026-05-27 +links: + - ../nodes/chelsty-infra.md +--- + +# CHELSTY — deployment i procedury odtworzeniowe + +## Deployment Flow + +### Initial Bootstrap +```bash +./scripts/bootstrap/chelsty-runtime.sh +``` + +### Deploy services +```bash +./scripts/deploy/deploy-node.sh chelsty-infra +./scripts/deploy/deploy-node.sh chelsty-ha +``` + +### Manual (SSH) — chelsty-infra uses docker-compose v1 +```bash +ssh oskar@100.122.201.22 +cd ~/homelab-codex-ws/services/ +docker-compose -f docker-compose.yml \ + -f ../../hosts/chelsty-infra/runtime//docker-compose.override.yml \ + up -d --build --force-recreate +``` + +> **Note:** `docker compose` (v2) is **not** available on chelsty-infra — always use `docker-compose` (hyphenated, v1 1.29.2). + +## Recovery Procedures + +### Mosquitto stopped +```bash +ssh oskar@100.122.201.22 "docker start mosquitto" +# Ensure restart policy is correct: +docker update --restart unless-stopped mosquitto +``` + +### Zigbee2MQTT won't start +1. Check logs: `docker logs zigbee2mqtt --tail 50` +2. Verify SLZB-06U reachable from host: `nc -zv 192.168.1.105 6638` +3. Verify config is not empty: `cat /opt/homelab/data/zigbee2mqtt/data/configuration.yaml` +4. If config missing, recreate from the minimal template above + +### SLZB-06U unreachable +`192.168.1.105:6638` EHOSTUNREACH means the coordinator is offline or the LAN is down. Zigbee2MQTT will keep retrying — no restart needed once the coordinator returns. +