Files
homelab-updaterandClaude Opus 5.5 3e445221e7
ci / check (push) Failing after 1m28s
ci / publish (push) Skipped
docs(skills): grafana skill without versions, dates or run ids
Only what stays true across updates: services, data paths, the data owner,
how to fix an ownership problem, how to check the result. Versions and the
update path are the workflow's job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 17:45:54 +02:00

3.4 KiB

Grafana i InfluxDB — VM103

Projekt compose grafana, dwie usługi z osobnym cyklem aktualizacji: grafana i influxdb. Aktualizując jedną, nie ruszaj drugiej.

Grafana

Obraz grafana/grafana, domena grafana.mariuszpacek.pl, port 3000, bez healthchecka. Dane: /var/lib/grafana ← /srv/appdata/grafana/data, /etc/grafana ← /srv/appdata/grafana/etc. Obraz nie ma etykiety OCI z wersją: wersję czyta się z tagu, a gdy compose ma sam digest, bez tagu — grafana-server -v w kontenerze. Nie zgaduj wersji. Źródła: wydania, co nowego, przewodnik upgrade, obraz Docker. Odbiór: kontener działa na przypiętym obrazie; HTTPS na / daje 302 na /login (to nie błąd); dashboardy się ładują, a źródło danych InfluxDB odpowiada bez błędu.

InfluxDB

Obraz influxdb, port 192.168.0.139:18086, domena influxdb.mariuszpacek.pl. Piszą do niej m.in. Telegraf, traefik, OPNsense i czujniki domowe; czyta Grafana. Dane: /var/lib/influxdb ← /srv/appdata/grafana/influxdb (kilkadziesiąt GB), właściciel 1000:1000, tryb 700. Usługa działa z user: "1000:1000" w compose — to musi zostać przy każdej aktualizacji. Źródła: release notes, upgrade, backup i restore.

Kopia: codzienny vzdump VM103 obejmuje dysk z /srv/appdata; workflow sprawdza jego świeżość i kopiuje compose przed zmianą. Nie wymagaj dodatkowej kopii influxd backup.

Znany typ problemu: nowy obraz działa jako inny użytkownik niż właściciel danych albo część plików należy do roota. Objaw: pętla restartów z permission denied na /var/lib/influxdb/... albo błędy 500 przy zapisie do pojedynczych shardów. Naprawa: sprawdź właściciela (hl run influxdb --user root -- stat -c %u:%g /var/lib/influxdb), ustaw user: na tego właściciela, a pliki z innym właścicielem popraw punktowo (hl run influxdb --user root -- find /var/lib/influxdb -not -user 1000 -exec chown 1000:1000 {} +), potem hl restart influxdb. Nie rób chown -R całego drzewa i nie uruchamiaj usługi jako root. Zmiana user i hl run wymagają sesji z pełnym dostępem: w zwykłej sesji nie szukaj obejść, tylko od razu odpowiedz gave_up z tym opisem. Nie zmieniaj typu indeksu ani konfiguracji, jeśli nowa wersja tego nie wymaga.

Odbiór: kontener działa na przypiętym obrazie bez restartów; /ping → 204, a nagłówek X-Influxdb-Version pokazuje nową wersję; wszystkie bazy są widoczne i czytelne (SHOW DATABASES, SHOW MEASUREMENTS); w logach nie ma błędów shardów, TSM, WAL ani uprawnień; po restarcie przychodzą nowe punkty (np. do bazy traefik), co potwierdza zapis. Panele Grafany sprawdza właściciel. STOP: po starcie nowej wersji znikają bazy lub serie albo logi pokazują błędy odczytu danych — nie naprawiaj na siłę, opisz i zostaw decyzję o rollbacku właścicielowi. Powrót: rollback przywraca compose sprzed aktualizacji. Jeśli starsza wersja nie czyta danych zapisanych przez nowszą, ratunkiem jest vzdump.