feat(notes): add Obsidian livesync stack (CouchDB) + Caddy entry

stacks/notes/: new stack with CouchDB 3 for obsidian-livesync sync backend.
Vault data at /config/couchdb/data; CORS must be configured post-deploy
via Fauxton (/_utils). Claude integration via CouchDB REST API documented
in compose comments.

Caddyfile: obsidian.ginnoir.com → couchdb:5984 (public for mobile sync).
This commit is contained in:
ginnoir
2026-06-06 03:15:17 -05:00
parent e997172c53
commit 5f53df0070
3 changed files with 56 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
# notes stack — personal knowledge base / PKM backbone.
#
# CouchDB powers obsidian-livesync for real-time Obsidian vault sync
# across all devices. Vault data lives at /config/couchdb/data on SSD.
#
# POST-DEPLOY (one-time setup):
# 1. Open https://obsidian.ginnoir.com/_utils and sign in as admin.
# 2. Settings → CORS → Enable CORS, add origins:
# app://obsidian.md
# capacitor://localhost
# http://localhost
# 3. In Obsidian: install the "Self-hosted LiveSync" plugin,
# point it at https://obsidian.ginnoir.com with your creds.
# 4. Let the setup wizard create the 'obsidian' database.
#
# Claude integration:
# The CouchDB REST API is the read/write surface for the vault.
# All notes are docs in the 'obsidian' database.
# GET https://obsidian.ginnoir.com/obsidian/_all_docs?include_docs=true
# returns all notes; each doc has a 'data' field with the markdown content.
services:
couchdb:
container_name: couchdb
image: couchdb:3
restart: unless-stopped
networks: [notes, edge]
environment:
COUCHDB_USER: ${COUCHDB_USER}
COUCHDB_PASSWORD: ${COUCHDB_PASSWORD}
volumes:
- /config/couchdb/data:/opt/couchdb/data
- /config/couchdb/etc:/opt/couchdb/etc/local.d
ports:
- "5984:5984"
networks:
notes:
name: notes
driver: bridge
edge:
name: edge
external: true
+6
View File
@@ -0,0 +1,6 @@
# notes stack secrets — CouchDB for Obsidian livesync
# CouchDB admin credentials.
# Used by: obsidian-livesync plugin, CouchDB Fauxton admin UI at /_utils.
COUCHDB_USER=admin
COUCHDB_PASSWORD=couchdb_obs_p4ss_7x9k