Commit Graph
11 Commits
Author SHA1 Message Date
Julien LutranandClaude Fable 5 a0e3a7dd86 doc: split per-host READMEs, gitea cross-repo links, consistency pass
- nuc/README.md and ks4/README.md carry the host sections (+ network
  flows) that lived in the top-level README; links rebased
- top README: repo links (doc/scripts on git.lutran.fr), index points
  at the new per-host pages
- cross-repo references now use https://git.lutran.fr/julien/scripts
  instead of relative ../scripts paths that resolve nowhere
- plakar-s3-data.md and plakar-incus-integration.md marked SUPERSEDED
  / RETIRED with pointers to restic-backup.md; their measurements and
  rationale kept
- install.md, local-backup-cron.md, incus-copy.md: crontab sections
  updated to the live schedule (01:00 replicas, 05:00 restic, Sun
  maintenance); retired legs labelled as such
- restic-backup.md: status live, cutover recorded, post-GC memory
  estimate, seed plan dated
- seafile-gc.md: online GC noted, stale 'crons commented out' removed
- ks2/: what-ks2-does-today rewritten (nothing writes to it any more),
  legs table and gates reflect restic, decommission steps updated
- db-exclude replaces the plakar-era config name (script keeps a
  fallback)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 16:04:07 +02:00
Julien LutranandClaude Fable 5 33b2a87d8f seafile-gc closure (515,842 inodes final); restic-backup: cron PATH gotcha
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 12:53:12 +02:00
Julien LutranandClaude Fable 5 a551aed157 restic-backup: generic exclude file name
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 13:07:41 +02:00
Julien LutranandClaude Fable 5 3de6d01b58 restic-backup: install upstream 0.19.1 (Debian's 0.18.0 misses needed fixes)
Live-tree mid-walk deletion crash (0.18.1 #5421), faster index
loading (0.19.0 #5713) and lower check memory (#5610), index repair
robustness, clean exit codes, and the empty-snapshot-on-inaccessible-
source fix (0.19.1 #5667). Upgrades via restic self-update.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:58:48 +02:00
Julien LutranandClaude Fable 5 de72120105 restic-backup: two-bucket layout (restic-data + restic-incus), two drivers
Giants merged into restic-data (single nightly invocation, one index
load, --group-by host retention); instances leg gets per-instance
mountpoints — restic picks parents by host+path, a shared mountpoint
would cause nightly full re-reads.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:50:07 +02:00
Julien LutranandClaude Fable 5 fb410259c5 restic-backup: restic becomes THE S3 tool — full rewrite
Four buckets (data/nextcloud/seafile/instances), instances leg via
incus file mount (no plugin architecture in restic/rustic — mount the
source instead of forking the tool), nightly driver spec, parallel
plakar comparison week, plakar retirement plan (kloset kept for
PlakarKorp/plakar#2338 debugging), interim ks2 replica push until the
FTTH/nuc leg.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:44:48 +02:00
Julien LutranandClaude Fable 5 3dec0c0a7b restic-backup: note rustic as format-compatible escape hatch (lock-free prune, lower RAM)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:17:23 +02:00
Julien LutranandClaude Fable 5 3381fe62bf restic-backup: prune tuning (--max-unused 10%, --max-repack-size 4G) with churn-based rationale
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:14:50 +02:00
Julien LutranandClaude Fable 5 93450a6fed restic-backup: appdata lives under nextcloud/data/, fix exclude paths
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:12:39 +02:00
Julien LutranandClaude Fable 5 d5dd6933af restic-backup: dry-run exclude verification, tmpfs-cache rejection, arc_min initramfs + headroom caveat
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 12:08:22 +02:00
Julien LutranandClaude Fable 5 dcc5c87cf1 Draft restic-backup: giant fs trees to S3, option analysis, migration gate
pack-size 64 MiB (object count vs prune amplification), split repos
for index RAM, cache on /backup, read-concurrency vs the seek-bound
walk, nextcloud preview excludes, ARC floor before seeding, weekly
rotating read-data-subset verification, and the analysis of a full
plakar->restic migration (conclusion: the split is a reasonable end
state, gated on PlakarKorp/plakar#2338).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 11:55:38 +02:00