Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Was killing remote tmux sessions the moment all ssh clients detached —
the actual cause of "tmux dies when everyone disconnects from neoprism".
Linger/KillUserProcesses were red herrings; tmux itself was tearing
the sessions down from inside.
Assisted-by: Claude Code (claude-opus-4-7)
Without lingering, systemd-logind tears down user@1337.service when the
last session disconnects, killing tmux along with the user slice. The
KillUserProcesses=no setting only prevents logind from explicitly killing
scope leftovers — it does not keep the user manager alive.
Assisted-by: Claude Code (claude-opus-4-7)
nixpkgs nginx is compiled with /tmp/nginx_* as temp paths. Combined
with systemd PrivateTmp, host-side cleanup of /tmp can leave nginx
with missing temp dirs after restart, breaking large POSTs (e.g.
matrix /keys/upload) and federation PUTs. Move to /var/cache/nginx,
which is auto-created via the systemd unit's CacheDirectory=nginx.
Assisted-by: Claude Code (claude-opus-4-7)
Confused agents that did plain `ipfs add` of files already on disk
caused ~9G of blockstore/filestore duplication and ~10G of
blockstore-only content. Shadow the CLI with a wrapper that rejects
`add` calls missing --nocopy; the kubo daemon and pin-watcher use
absolute store paths so they keep working.
Assisted-by: Claude Code (claude-opus-4-7)
Pin-watcher was creating MFS entries for aria2 control files that get
deleted once the download finishes, leaving orphans in the index. Also
ensure the cid-map file is world-readable after creation and after
reconcile rewrites it.
Assisted-by: Claude Code (claude-opus-4-7)