Skip to content

Decommission HealthLog - #60

Merged
mathewcsims merged 1 commit into
mainfrom
decommission-healthlog
Aug 7, 2026
Merged

Decommission HealthLog#60
mathewcsims merged 1 commit into
mainfrom
decommission-healthlog

Conversation

@mathewcsims

Copy link
Copy Markdown
Owner

Fifth app torn down for not earning its keep, same procedure as the four on 2026-08-04. Medication tracking had already moved to MedTimer; a better solution now covers what was left.

Removed

Both containers (app + Postgres sidecar), both images, the healthlog_default network, the Caddy site block, Uptime Kuma monitor #26, the public A record, the NextDNS LAN rewrite, healthlog/ (including the 187 MB Postgres datadir) and scripts/pass-create-healthlog-secrets.sh.

File Removed
scripts/dump-databases.sh the healthlog-postgres pg_dump; healthlog in the post-dump health check
kopia-mac/backup.sh the data/ and pgdata/ snapshot sources

The Postgres image was removed too, after checking it wasn't shared: the identical digest is pinned by LiteLLM, but that runs on slartibartfast, a different host with its own image store.

The health data is kept — this one mattered more

Years of vitals, sleep, mood questionnaires and Samsung Health sync, none of it reconstructible. So:

  • A logical pg_dump taken while the app was still running — 133 tables, 131 data sections, 38,587 measurement rows, clean terminator.
  • Containers then stopped — Postgres exited 0, a clean checkpoint — and the whole directory cold-archived including the datadir.
  • Both archives restore-tested out of Backblaze B2, matched by sha256, and the restored dump re-read as valid SQL with all 133 tables present.

Kopia sources set to --manual so they drop out of nightly verification while keeping their history. The HealthLog Pass item retained.

Cross-references cleaned up, not left dangling

HealthLog was cited as a live example in five other places: Paperless' Caddy block borrowed its access-control rationale, and docs/immich/litellm/wanderer referenced its port choice, Postgres pin, sidecar hostname and first-registrant-becomes-admin race. Each is now either self-contained or explicitly marked historical.

The 2026-07-31 launchd PATH incident note in the backup plist keeps its healthlog reference deliberately — that's a record of what happened, not a pointer to something live.

Verification

  • Dump script and full backup run clean — exit 0, no failures.
  • Verification passes over 37 sources — 0 stale, 0 dirty, 8 dormant — with HealthLog correctly absent from the active set.
  • Caddy validates and reloads; healthlog.mathewcsims.uk is dark and every surviving site still serves (owl 200, vikunja 200, docs 200, paperless 302, immich 200, …).

🤖 Generated with Claude Code

Fifth app torn down for not earning its keep, same procedure as the four on
2026-08-04. Medication tracking had already moved to MedTimer; a better
solution now covers what was left.

Removed: both containers (app + Postgres sidecar), both images, the
healthlog_default network, the Caddy site block, Uptime Kuma monitor #26,
the public A record, the NextDNS LAN rewrite, healthlog/ (including the
187 MB Postgres datadir) and scripts/pass-create-healthlog-secrets.sh.

Unwired from automation:
  - scripts/dump-databases.sh   the healthlog-postgres pg_dump, and
                                `healthlog` in the post-dump health check
  - kopia-mac/backup.sh         the data/ and pgdata/ snapshot sources

THE HEALTH DATA IS KEPT, and this one mattered more than the others — it is
years of vitals, sleep, mood questionnaires and Samsung Health sync, none
of it reconstructible. A logical pg_dump was taken while the app was still
running (133 tables, 131 data sections, 38,587 measurement rows, clean
terminator), then the containers were stopped — Postgres exited 0, a clean
checkpoint — and the whole directory cold-archived including the datadir.
Both live in db-dumps/decommissioned/, both restore-tested back out of
Backblaze B2 and matched by sha256, and the restored dump re-read as valid
SQL with all 133 tables. The Kopia sources were set to --manual so they
drop out of nightly verification while keeping their history, and the
HealthLog Pass item was retained.

The Postgres image was removed too, after checking it was not shared: the
identical digest is pinned by LiteLLM, but that runs on slartibartfast, a
different host with its own image store.

Cross-references cleaned up rather than left dangling. HealthLog was cited
as a live example in five other places — Paperless' Caddy block borrowed
its access-control rationale, and docs/immich/litellm/wanderer referenced
its port choice, Postgres pin, sidecar hostname and first-registrant-
becomes-admin race. Each is now either self-contained or explicitly marked
as historical. The 2026-07-31 launchd PATH incident note in the plist keeps
its healthlog reference: that is a record of what happened, not a pointer
to something live.

Verified: dump script and full backup run clean (exit 0, no failures), and
verification passes over 37 sources — 0 stale, 0 dirty, 8 dormant — with
HealthLog correctly absent from the active set. Caddy validates and
reloads; healthlog.mathewcsims.uk is dark and every surviving site still
serves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mathewcsims
mathewcsims merged commit 40d4576 into main Aug 7, 2026
7 checks passed
@mathewcsims
mathewcsims deleted the decommission-healthlog branch August 7, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant