homelab-codex-ws/docs/sessions/2026-07-07-immich-pimain-cleanup.md
oskar f0522a85dc feat(kb): frontmatter OKF dla 39 session logow
Session logi zostaja w docs/sessions/ (decyzja z etapu 1). Dodany wylacznie
blok frontmattera: type: session-log, visibility: private, status: active,
updated = data ostatniego commita pliku.

Tresc nietknieta — kazdy plik to +9/-0 linii.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:53:57 +02:00

55 lines
2.4 KiB
Markdown

---
okf: "0.1"
type: session-log
visibility: private
status: active
updated: 2026-07-07
links: []
---
# Session log 2026-07-07 — Immich upload fix / pimain cleanup (kontynuacja 2026-07-03)
## Kontekst
Immich mobile: Error(500) przy uploadzie. Diagnoza z 3.07: bind mount fstab
`/media/pimain/media/immich/library/upload -> /home/pi/immich/library/upload`
(sda1, 100% pelny). Bind niewidoczny w `docker inspect` i compose — wykryty
przez `/proc/mounts` w kontenerze + `findmnt`. NVMe/quota/inody/ext4 czyste.
## Root cause zapelnienia
`/media/pimain/backup-tmp/pi/` — dzienne backupy `/home/pi` (tgz ~2,9G, cron
root 03:00, `backup-piha-home.sh`) od 2025-12-01, 201 plikow. Retencja w
skrypcie MARTWA od zawsze — dwa bugi:
1. pruning szukal `pihome_*.tgz`, a pliki nazywaja sie `YYYYMMDD.tgz`
(widmo `$backupFolderName` vs `$backupFolderPrefix`)
2. `rm "$fileDtgName"` (wynik cut) zamiast `rm "$file"`
## Wykonane
- Skasowano 187 najstarszych tgz → pimain 100% → 87% (~227G wolne)
- **Uploady z telefonu potwierdzone dzialajace**
- Fix retencji w `/home/pi/backup-scr/backup-piha-home.sh` (sed-y na miejscu,
oryginal w `.sh.orig`): `-maxdepth 1 -name "20*.tgz"`, `basename`,
`rm -v "$file"`; retencja 7 dni + month-endy na zawsze; pruning tylko po
sukcesie tara
- Dodatkowy fix: tar exit 1 (file changed as we read it — zywe logi NPM)
traktowany jako sukces (`|| [ $? -eq 1 ]`); exit >=2 nadal blad
- Swiezy backup `20260707.tgz` (2,9G, jedyny realny); 0-bajtowe trupy usuniete
- PENDING: nocny cron 03:00 = test bojowy calej sciezki (backup+retencja);
kontrola: `tail /var/log/backup-piha-home.log`
## Odkrycia / lekcje
- Backupy byly 0-bajtowe od ~2026-06-06 (open przechodzil, write nie) —
month-endy utracone przy czyszczeniu (kryterium "14 najnowszych" nie
sprawdzalo rozmiaru; strata akceptowalna, zrodlo zywe na /home).
Lekcja: przy czyszczeniu backupow filtrowac po size, nie tylko po dacie.
- Heredoc przez ssh+wklejke na PIHA sie tnie — tylko krotkie komendy,
sed-y jednolinijkowe albo scp.
- Bind mount z fstab propagowany do kontenera to pulapka diagnostyczna:
weryfikowac przez `/proc/mounts` z wnetrza kontenera i `findmnt`,
nie `docker inspect`.
## Backlog
- #11 (disk alerting): `node_filesystem_avail_bytes` MUSI objac `/media/pimain`
i `/media/pimainmirror` — drugi incydent z tego samego braku
- NOWE: rozwazyc wciagniecie `backup-piha-home.sh` pod repo (per-host legacy,
poza GitOps); ew. monitoring 0-bajtowych artefaktow backupu