๐ฃ 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