nixcfg/systems
Harald Hoyer c1503b56aa sgx/firefly: disable btrfs CoW on Firefly III sqlite directory
Random-write SQLite traffic fragments CoW filesystems quickly. The `h`
tmpfiles directive sets +C on the database directory; new SQLite files
(WAL, SHM, recreated main DB) inherit no-CoW automatically. No-op on
non-btrfs filesystems.

Migration of existing files must be done manually with checkpoint-first:
  systemctl stop phpfpm-firefly-iii.service
  sqlite3 .../database.sqlite 'PRAGMA wal_checkpoint(TRUNCATE);'
  # then recreate main file inside the +C dir
  systemctl start phpfpm-firefly-iii.service

Skipping the wal_checkpoint and naively deleting .sqlite-wal will lose
all writes that haven't been checkpointed (PHP-FPM SIGTERM does not
trigger a checkpoint).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 19:31:24 +02:00
..
aarch64-darwin feat(m4): add opencode 2026-04-25 05:11:39 +02:00
aarch64-linux nix fmt 2026-02-24 13:25:42 +01:00
x86_64-darwin/mpro nix fmt 2024-11-19 10:31:29 +01:00
x86_64-linux sgx/firefly: disable btrfs CoW on Firefly III sqlite directory 2026-05-01 19:31:24 +02:00
nixbuild.nix chore: statix fix 2026-04-20 10:09:24 +02:00