obsidian-livesync
is an Obsidian plugin, which allows you to Synchronize your Obsidian vault between devices, using a CouchDB database.
Synology NAS devices offer Docker support, which is a convenient way to host your CouchDB.
- Create a directory for your Docker data (e.g.
/volume1/docker/obsidian-couchdb
) - Create a user with permissions to that directory - put them in the
users
group - Get the UID and GID for the user. See: https://mariushosting.com/synology-find-uid-userid-and-gid-groupid-in-5-seconds/
- Upload your local.ini (example below)
Although it is not required, I would highly recommend fronting your CouchDB with a reverse proxy and SSL.
mariushosting
has a tutorial, so I will not create another one.
https://mariushosting.com/how-to-install-nginx-proxy-manager-on-your-synology-nas/
The below docker
command can be executed via a task, as mariushosting
usually does.
- Open the Control Panel
- Open Task Scheduler from the Control Panel
- Click the "Create" button
- Choose Scheduled Task ➡️ User-defined script
- General tab
- Task: Install CouchDB
- User: root
- Schedule
- Run on the following date
- leave as today's date
- Do not repeat
- Time
- leave everything default
- Task settings
- Run command - put the command below in
- Click "Ok"
- Run on the following date
- If the task is checked, un-check it
- Highlight the task
- Click the "Run" button
- General tab
docker run -d \
-e COUCHDB_USER=XXXXXXX \
-e COUCHDB_PASSWORD=XXXXXX \
-e PUID=XXXX \
-e PGID=XXX \
-v /volume1/docker/obsidian-couchdb/local.ini:/opt/couchdb/etc/local.ini \
-v /volume1/docker/obsidian-couchdb/data:/opt/couchdb/data \
-p 5984:5984 \
--restart always \
couchdb
[couchdb]
single_node=true
max_document_size = 50000000
[chttpd]
require_valid_user = true
max_http_request_size = 4294967296
[chttpd_auth]
require_valid_user = true
authentication_redirect = /_utils/session.html
[httpd]
WWW-Authenticate = Basic realm="couchdb"
enable_cors = true
[cors]
origins = app://obsidian.md,capacitor://localhost,http://localhost
credentials = true
headers = accept, authorization, content-type, origin, referer
methods = GET, PUT, POST, HEAD, DELETE
max_age = 3600
- Input the URL for your CouchDB
- Use the credentials you put into the Docker configuration
- Choose an arbitrary name for your database
https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/setup_own_server.md
I tried to use this repo, but doesn't work for me.
I had to remove the two commands
-e PUID=XXXX
-e PGID=XXX
The couchdb is successfully installed on docker but does not work on Caddy hosted on another docker for https access
Can someone post detailed instructions about setting up caddy for https access?