before: pinned={'bookstack': 'lscr.io/linuxserver/bookstack:26.05.5', 'bookstack-db': 'mariadb:12.3'}
drill: d856374 DRILL bookstack: {'bookstack': 'lscr.io/linuxserver/bookstack:26.09.1'} (box proof)
  phase +0.0s backing-up | err=None
  phase +13.3s safety-dump | err=None
  phase +14.4s pulling | err=None
  phase +35.9s copying | err=None
  phase +43.1s starting | err=None
  phase +49.2s verifying | err=None
  phase +64.6s done | err=None
    bookstack: readback of the seeded account found=True :: This will delete any configure multi-factor authentication methods for user: - ID: 3 - Name: drill-188bad - Email: drill-ae1b4996@gate.inval
2026/09/30 11:09:32 update.go:536: [INFO] [stacks] update bookstack: accepted — guarded update started
2026/09/30 11:09:32 update.go:1365: [INFO] [stacks] update bookstack: phase checking
2026/09/30 11:09:32 update.go:786: [INFO] [stacks] update bookstack: ladder — the last step (2 of 2) — the catalog's current definition
2026/09/30 11:09:32 update.go:816: [INFO] [stacks] update bookstack: no usable copy on any tier — younger than 24h0m0s and not older than this install's deploy (2026-09-30T11:01:49Z) (found: none) — backing up first
2026/09/30 11:09:32 update.go:1365: [INFO] [stacks] update bookstack: phase backing-up
2026/09/30 11:09:45 update.go:831: [INFO] [stacks] update bookstack: precondition met after the backup — Tier 2 (second drive) copy from 2026-09-30T11:09:33Z
2026/09/30 11:09:45 update.go:1365: [INFO] [stacks] update bookstack: phase safety-dump
2026/09/30 11:09:46 update.go:846: [INFO] [stacks] update bookstack: safety dump done (1 file(s)) [/mnt/sys_drive/felhom-data/backups/primary/bookstack/db-dumps/pre-restore-20260930T110945Z-bookstack-mariadb.sql]
2026/09/30 11:09:46 undo.go:287: [INFO] [stacks] update bookstack: the undo copy will hold 2 named volume(s), 165.4 MiB
2026/09/30 11:09:46 update.go:1365: [INFO] [stacks] update bookstack: phase pinning
2026/09/30 11:09:46 pin.go:373: [INFO] [stacks] update bookstack: pin advanced to /opt/docker/felhom-controller/data/catalog-cache/templates/bookstack/docker-compose.yml (bookstack=lscr.io/linuxserver/bookstack:26.09.1, bookstack-db=mariadb:12.3)
2026/09/30 11:09:46 update.go:1365: [INFO] [stacks] update bookstack: phase pulling
2026/09/30 11:10:08 update.go:1365: [INFO] [stacks] update bookstack: phase copying
2026/09/30 11:10:13 update.go:1365: [INFO] [stacks] update bookstack: phase copying
2026/09/30 11:10:13 undo.go:437: [INFO] [stacks] update bookstack: copied bookstack_bookstack_config → bookstack_bookstack_config.pre-update-20260930T111013Z in 711ms
2026/09/30 11:10:13 update.go:1365: [INFO] [stacks] update bookstack: phase copying
2026/09/30 11:10:14 undo.go:437: [INFO] [stacks] update bookstack: copied bookstack_bookstack_db_data → bookstack_bookstack_db_data.pre-update-20260930T111013Z in 1.009s
2026/09/30 11:10:14 update.go:1365: [INFO] [stacks] update bookstack: phase starting
2026/09/30 11:10:21 update.go:1365: [INFO] [stacks] update bookstack: phase verifying
2026/09/30 11:10:36 update.go:997: [INFO] [stacks] update bookstack: healthy after 15s (the app's health check passed)
2026/09/30 11:10:36 update.go:1033: [INFO] [stacks] update bookstack: DONE in 1m4s

RESULT final_phase=done after={'bookstack': 'lscr.io/linuxserver/bookstack:26.09.1', 'bookstack-db': 'mariadb:12.3'} seed_after=True verdict=proven (64.6 s)
