From 045acc965a2d877032ce59e2afec23b2993553af Mon Sep 17 00:00:00 2001 From: Anthony Ettinger Date: Tue, 23 Jun 2026 12:57:49 +0000 Subject: [PATCH] fix(ergo): use absolute lock-file path so it lands in the writable data dir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- deploy/ergo/ircd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/ergo/ircd.yaml b/deploy/ergo/ircd.yaml index 3564e63..661e44b 100644 --- a/deploy/ergo/ircd.yaml +++ b/deploy/ergo/ircd.yaml @@ -837,7 +837,7 @@ debug: # 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 # is absolute, you should use an absolute path here as well. -lock-file: "ircd.lock" +lock-file: "__DATA__/ircd.lock" # datastore configuration datastore: