From 88f887682926e54463a1ca5810878f5a31d2481a Mon Sep 17 00:00:00 2001 From: Mannu Date: Sun, 7 Jun 2026 09:38:15 +0530 Subject: [PATCH] fix(obsidian-sync): run CouchDB as uid 5984 to bypass entrypoint chown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CouchDB 3.3 entrypoint runs as root and executes: find /opt/couchdb \! -user couchdb -exec chown couchdb {} + before writing a single log line. The :ro bind-mounted local.ini is owned by root on the host, so chown fails with EROFS — set -e exits immediately with code 1 and zero output (381ms crash, empty logs). Running as user 5984:5984 skips the root block in the entrypoint entirely, going straight to admin setup and CouchDB launch. Co-Authored-By: Claude Sonnet 4.6 --- obsidian-sync/docker-compose.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/obsidian-sync/docker-compose.yml b/obsidian-sync/docker-compose.yml index d49bc59..591697f 100644 --- a/obsidian-sync/docker-compose.yml +++ b/obsidian-sync/docker-compose.yml @@ -10,6 +10,12 @@ services: container_name: obsidian-couchdb restart: unless-stopped + # Run as the couchdb user (uid 5984) from the start. This skips the + # entrypoint's "find /opt/couchdb \! -user couchdb -exec chown {}" step, + # which fails with EROFS when the :ro bind-mounted ini file is encountered — + # causing an immediate silent exit before any log is written. + user: "5984:5984" + # Admin credentials come from Dokploy's Environment tab (NOT hard-coded here, # so they never land in git). Set COUCHDB_USER / COUCHDB_PASSWORD in the UI. environment: