Skip to content

๐ŸŸฃ Obsidian + LiveSync

Host: Homelab ยท Compose: Homelab/Docker/obsidian/compose.yaml
Stack name: obsidian

1. Overview

A containerised Obsidian desktop application served via a browser (KasmVNC/web-based) with CouchDB as the backend for the Self-hosted LiveSync plugin. This enables real-time vault sync across devices. Access is protected by Cloudflare Access policies.


2. Architecture & Services

Service Image Port Role
couchdb-obsidian-livesync couchdb:3.5.2 โ€” CouchDB sync database for Obsidian LiveSync
obsidian lscr.io/linuxserver/obsidian:1.13.7 โ€” Obsidian desktop app (browser-accessible via KasmVNC)

3. Networking

  • cloudflare-net โ€” Both containers exposed via Cloudflare Tunnel:
  • obsidian โ€” Internal bridge connecting Obsidian app and CouchDB.

4. Persistent Storage

| Container | Host Path / Volume | Description | |---|---|---|| | couchdb-obsidian-livesync | /docker/data/obsidian/couchdb-obsidian-livesync/data | CouchDB document store | | couchdb-obsidian-livesync | /docker/data/obsidian/couchdb-obsidian-livesync/etc/local.d | CouchDB config | | obsidian | /docker/data/obsidian/config | KasmVNC / Obsidian config | | obsidian | /docker/data/obsidian/files | Vault files |


5. Environment Variables

Variable Service Description
COUCHDB_PASSWORD couchdb-obsidian-livesync Admin password
COUCHDB_USER couchdb-obsidian-livesync Admin username (obsidian)
PGID couchdb-obsidian-livesync โ€”
PUID couchdb-obsidian-livesync โ€”
TZ couchdb-obsidian-livesync Australia/Sydney
UMASK couchdb-obsidian-livesync โ€”
PGID obsidian โ€”
PUID obsidian โ€”
TZ obsidian Australia/Sydney

6. Access & Usage

URL Description
https://obsidian.m1ckyb.com Obsidian web UI (Cloudflare Access protected)
https://obsidian_db.m1ckyb.com CouchDB for LiveSync plugin

LiveSync plugin config: - URI: https://obsidian_db.m1ckyb.com - Username: obsidian - Database: your vault name

# Start
docker compose -f Homelab/Docker/obsidian/compose.yaml up -d

# CouchDB health
curl http://obsidian:PASSWORD@localhost:5984/_up

7. Maintenance & Backup

# Update
docker compose -f Homelab/Docker/obsidian/compose.yaml pull
docker compose -f Homelab/Docker/obsidian/compose.yaml up -d

# Backup vault and CouchDB
rsync -av /docker/data/obsidian/ /backup/obsidian/