๐ฃ 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 |
โ (internal) |
CouchDB sync database for Obsidian LiveSync |
obsidian |
lscr.io/linuxserver/obsidian:1.12.7 |
โ (internal) |
Obsidian desktop app (browser-accessible via KasmVNC) |
3. Networking
obsidian โ Internal bridge connecting Obsidian app and CouchDB.
cloudflare-net โ Both containers exposed via Cloudflare Tunnel:
obsidian.m1ckyb.com โ Obsidian UI (protected by Cloudflare Access, authenticate policy, 12h session)
obsidian_db.m1ckyb.com โ CouchDB API (for LiveSync plugin on mobile/desktop clients)
4. Persistent Storage
| Container |
Host Path |
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_USER |
CouchDB |
Admin username (obsidian) |
COUCHDB_PASSWORD |
CouchDB |
Admin password |
PUID / PGID |
Both |
1000:1000 |
TZ |
Both |
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/