fix(ergo): use absolute lock-file path so it lands in the writable data dir

WorkingDirectory is /opt/ergo with ProtectSystem=strict (only /var/lib/ergo
and /etc/ergo are writable), but lock-file was relative ("ircd.lock"), so Ergo
tried to create /opt/ergo/ircd.lock on a read-only path and crash-looped with
"failed to acquire flock on ircd.lock: read-only file system" — nothing ever
listened on 6697/6667/8097 (clients got ECONNREFUSED). datastore.path is already
absolute (__DATA__/ircd.db); per Ergo's own config comment the lock-file should
match. Render it to __DATA__/ircd.lock (/var/lib/ergo, ergo-owned + in
ReadWritePaths).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Anthony Ettinger 2026-06-23 12:57:49 +00:00
parent 11503ca3f0
commit 045acc965a

View file

@ -837,7 +837,7 @@ debug:
# started at once. comment out or set to the empty string ("") to disable. # started at once. comment out or set to the empty string ("") to disable.
# this path is relative to the working directory; if your datastore.path # this path is relative to the working directory; if your datastore.path
# is absolute, you should use an absolute path here as well. # is absolute, you should use an absolute path here as well.
lock-file: "ircd.lock" lock-file: "__DATA__/ircd.lock"
# datastore configuration # datastore configuration
datastore: datastore: