nixcfg/systems/x86_64-linux
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
..
amd feat(amd): latest kernel ryzen kernel module 2026-04-27 10:40:23 +02:00
attic fix(attic): fix nginx proxy cache bypass and add cache lock 2026-03-25 13:38:32 +01:00
halo chore: statix fix 2026-04-20 10:09:24 +02:00
mx refactor(mx): extract disk check services into disk-check.nix 2026-04-20 10:28:27 +02:00
nixtee1 refactor(nix): extract common system configs into reusable modules 2026-01-30 10:42:09 +01:00
sgx sgx/firefly: disable btrfs CoW on Firefly III sqlite directory 2026-05-01 19:31:24 +02:00
t15 refactor(nix): extract common system configs into reusable modules 2026-01-30 10:42:09 +01:00
x1 chore: statix fix 2026-04-20 10:09:24 +02:00