Server-side setup
Run CouchDB setup in the web UI
- Navigate to
http://127.0.0.1:5984/_utils. - Click
<->to open the sidebar, then openSetup. - Select
Configure as single nodeand enter credentials from the compose file. - Open
Verify installationand confirm you seeSuccess!. - Go to
Create Database, enter your preferred name, and selectNon-partitioned.
Apply required CouchDB options
Navigate to
Configuration and click + Add option.Add:| Section | Option | Value |
|---|---|---|
| chttpd | require_valid_user | true |
| chttpd_auth | require_valid_user | true |
| httpd | WWW-Authenticate | Basic realm=“couchdb” |
| httpd | enable_cors | true |
| chttpd | enable_cors | true |
| chttpd | max_http_request_size | 4294967296 |
| couchdb | max_document_size | 50000000 |
| cors | credentials | true |
| cors | origins | app://obsidian.md,capacitor://localhost,http://localhost |
Client-side setup
Install and open Self-hosted LiveSync
Open Obsidian, go to
Settings -> Core Plugins, and install Self-hosted LiveSync.Then click Install -> Enable -> Open setting dialog -> Options.Configure CouchDB connection
On the top icon row, click the 4th icon (
🛰️) and set:- Remote type:
CouchDB - URI:
obsidian.domain.com - Username:
YOUR_USERNAME - Password:
YOUR_LONG_PASSWORD - Database:
YOUR_DB_NAME
Test under Test Database connection and verify Connection successful!.Click Check under Validate Database and apply fixes if needed, then click Apply.Enable status and finalize setup
- Open the 3rd subpage and enable the 2nd checkbox (status bar indicator).
- Open the 1st subpage, scroll down, and click
I've read everything. - Return to the 2nd subpage and click
Enableunder Enable LiveSync. - If popups appear, click fetch and ignore size-limit notices if needed.
- Re-check sync mode from step 3.