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> |
||
|---|---|---|
| .. | ||
| acme.nix | ||
| backup.nix | ||
| default.nix | ||
| fileserver.nix | ||
| firefly.nix | ||
| hardware-configuration.nix | ||
| mail.nix | ||
| network.nix | ||
| nginx.nix | ||
| openwebui.nix | ||
| searx.nix | ||
| uptime-kuma.nix | ||
| wyoming.nix | ||