From eacdcefab9bbbf019e270c93198995268dfe439b Mon Sep 17 00:00:00 2001 From: sneak Date: Mon, 12 Oct 2026 22:16:16 +0000 Subject: [PATCH] Document that DATA_DIR must be on a local filesystem (closes #295) SQLite in WAL mode maps each database's -shm file into memory, and network filesystems do not support that reliably, so the README now says DATA_DIR must be local and names NFS and SMB/CIFS as unsupported. It also says what a disk I/O error with code 522 points at and what to try first. ZFS is not called unsupported: the one failure seen there was never reproduced. Model: opus-5-5 --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 0e53c78..2ce5c4c 100644 --- a/README.md +++ b/README.md @@ -941,6 +941,13 @@ with an error naming it: for `webhooker.db` the server and `webhooker resetpw` stop, and an event or archive database fails as a damaged one does (see [Database Architecture](#database-architecture)). +**`DATA_DIR` must be on a local filesystem.** Under WAL, SQLite maps each +database's `-shm` file into memory, which network filesystems (NFS, SMB/CIFS) do +not support reliably, so they are not supported. webhooker does not check which +filesystem `DATA_DIR` is on. An error reading `disk I/O error (522)` +(`SQLITE_IOERR_SHORT_READ`) points at the storage under `DATA_DIR`, not at +locking; moving `DATA_DIR` to a plain local disk is the first thing to try. + Configuration is **not** in `DATA_DIR` — it comes from the environment and from a `.env` file read out of the process working directory. Back that up with your deployment config, separately. -- 2.54.0