fix(obsidian-sync): run CouchDB as uid 5984 to bypass entrypoint chown

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 <noreply@anthropic.com>
This commit is contained in:
Manohar Gupta 2026-06-07 09:38:15 +05:30
parent d0ba6dbe28
commit 88f8876829

View file

@ -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: