[vault] path = "/vault" include = ["**/*.md"] # `exclude` is deliberately not set: setting it REPLACES the built-in list, # which is where the Syncthing patterns live (`.stversions/**`, which holds # whole historical copies of your notes, and `*.sync-conflict-*`). Overriding # it with just the VCS/editor globs silently reindexes both — you get duplicate # tasks, and a completion can land in a conflict file you never open while the # note you are actually looking at stays unchanged. # To add your own, restate the defaults from config.DEFAULT_EXCLUDE too. # Keeps the index warm off the request path. Purely a latency optimization: # every read path calls refresh_if_stale(), so freshness does not depend on it. watch = true # Poll rather than wait on inotify. A containerized vault is usually a bind # mount, and often a network one (NFS, CIFS) — inotify reports nothing at all # for changes written by another host, so the watcher would sit silent. Set to # 0 to use inotify when the vault is genuinely local. poll_interval = 2.0 [collections] group_by = "directory" depth = 1 [write] allow_create = true allow_delete = true inbox = "inbox.md" inbox_heading = "## Inbox" delete_children = "cascade" # Recommended until you trust write-back. Kept outside the vault. backup_dir = "/data/backups" [index] # Must NOT live inside /vault — it is a derived cache, not a note. db = "/data/index.db"