selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
self-hosted-livesync-server logo

Self-host self-hosted-livesync-server

CouchDB server with Caddy for Obsidian LiveSync

ReleaseOpen SourceMIT
Updatedlast year
LanguageShell
Setup difficultyModerate
Stars
274
Ports
80 (HTTP (Caddy, redirects to HTTPS)), 443 (HTTPS (Caddy with Let's Encrypt)), 5984 (CouchDB HTTP API (internal, proxied by Caddy))
Install with Docker Compose

What is self-hosted-livesync-server?

self-hosted-livesync-server is a Docker Compose project that sets up a CouchDB 3.1.2 instance behind a Caddy reverse proxy with automatic Let's Encrypt TLS certificates. It is purpose-built for Obsidian's Self-hosted LiveSync plugin, providing the required CORS headers and authentication endpoints. The stack includes Caddy (lucaslorentz/caddy-docker-proxy) handling HTTPS on ports 80/443 and routing requests to CouchDB on port 5984 under a secret subpath for basic obscurity. Configuration is done via environment variables (COUCHDB_SERVER, COUCHDB_USER, COUCHDB_PW) and a local.ini file that enables CORS for Obsidian's app:// and capacitor:// origins. An ARM variant compose file is provided for Raspberry Pi or Oracle Cloud ARM instances. A companion project (self-hosted-livesync-server-tailscale) exists for users without a public domain. The project is MIT licensed and actively maintained.

Should you self-host self-hosted-livesync-server?

self-hosted-livesync-server scores 45/100 on selfhost.directory (how scoring works) and ranks #37 of 40 in Database Management. It has 274 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Shell.

Its closest alternative on selfhost.directory is supabase (92/100, 114 240 stars). It scores higher overall, so compare the two before you pick. See self-hosted-livesync-server vs supabase side by side.

Features

  • ARM architecture support
  • Automatic Let's Encrypt TLS
  • Basic Authentication
  • CORS for Obsidian LiveSync
  • Single-node CouchDB
  • Subpath routing for obscurity

self-hosted-livesync-server README

How to install self-hosted-livesync-server

Install self-hosted-livesync-server with Docker Compose

Docker and docker-compose; valid domain; internet-accessible webserver
Environment variables
COUCHDB_SERVER, COUCHDB_USER, COUCHDB_PW
  1. Clone the repository, git clone git@github.com:vrtmrz/self-hosted-livesync-server.git
  2. Create Caddy's network: docker network create caddy
  3. Configure files
    1. caddy.handle_path_1: /e=_/* on docker-compose.yml You have to change this e=_ to something your favorite secret word.
    2. authentication_redirect = /e=_/_utils/session.html on conf/local.ini change e=_ too, as same as you changed on 3.1..
  4. Set environment variables.
name value example
COUCHDB_SERVER Your server's domain db.example.net
COUCHDB_USER The account name you want to access testuser
COUCHDB_PW The password testpassword
  1. Run docker-compose -f docker-compose.yml up Note: If you using an arm machine, docker-compose -f docker-compose.yml -f docker-compose.arm.yml up

Requires a valid domain and internet-accessible server

How to configure self-hosted-livesync-server

  • COUCHDB_PWThe password for the CouchDB user

    The password for the CouchDB user

  • COUCHDB_SERVERYour server's domain name

    Your server's domain name

  • COUCHDB_USERThe account name you want to access

    The account name you want to access

More in File Sync

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…