Skip to content

Obsidian Sync Self Host


MyNote

Are you familiar with Obsidian? Notion maybe?
notepad ? hehe
notepad++ ? nyehehe

Obsidian is a note taking app, it is open-source and free. That mean you can do whatever you want cause you have the freedom on your hand. It also has a lot of community plugin that you could plug and play and choose which one you like and fit your behavior. Further more you could buy them a coffee for their effort.

First time I used Obsidian I just use it for my personal note and I just have one computer so I don't thinking about store it online. Until the time that I'm trying to utilized my old laptop and that is Thinkpad x240 😎. This guy is Intel i5 4th gen in 2026. I installed linux distro on it and voila, it good to go.

Since I have a lot of note in my computer, the question How do I transfer this note ? easy mode -> bring your flashdisk, copy the vault directory, paste it in my "brand new" laptop. normal mode -> subscribe obsidian sync service. my mode -> I'm not going to do that.

So just googling and found a couple solution. The main actor is Self-hosted LiveSync plugins. In my case, I decided to use this.

Prerequisites
  1. Online Computer (vps / your 24/7 pc, etc)
  2. Domain (Optional), alternative -> cloudflare, pinggy.

Setup

1. Setup CouchDB

Installed CouchDB on server, In my case I used Docker compose. I assumed you have installed docker and familiar with docker.

  • create compose.yaml file and paste bellow block.
services:
  couchdb:
    image: couchdb:latest
    container_name: couchdb-for-ols
    user: 5984:5984
    environment:
      - COUCHDB_USER="couchdb_username" #change with your own without quote.
      - COUCHDB_PASSWORD="couchdb_password" #change with your own without quote.
    volumes:
      - ./couchdb-data:/opt/couchdb/data
      - ./couchdb-etc:/opt/couchdb/etc/local.d
    ports:
      - 5984:5984
    restart: unless-stopped
  • execute docker compose up -d

  • create database After installing the CouchDB, you need to create your database. You can access the CouchDB dashboard in port http://yourcomputer:5984/_utils/

    Note : made sure you put slash at the end of the path '_utils/'

    Login with your username & password you put in the compose.yaml file. Create new database for your obsidian.

2. Setup public URL

After installing CouchDB, you need a public URL, It will be used in your Obsidian app. In my case, I used my own domain and used NGINX as reverse proxy and the config is like bellow.

server {
    # It's necessary when you have large file size
    client_max_body_size 15M;

    location /couchdb {
        rewrite ^ $request_uri;
        rewrite ^/couchdb/(.*) /$1 break;
        proxy_pass http://localhost:5984$uri;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /_session {
        proxy_pass http://localhost:5984/_session;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

If you are on your VPS and you don't have a domain, it's a bad idea to expose your port to public. There is a way to publish your service without exposing any port, it works with tunneling. As of my knowledge, the simplest way is to use pinggy, you could check this article from pinggy about how to setup tunneling with their service.

3. Setup Obsidian LiveSync
  • Install Self-hosted LiveSync plugin in your obsidian app.
  • Go to Settings ⚙️
  • Scroll to Community Plugins section
  • Click onSelf-hosted LiveSync
  • Navigate to Remote Configuration tab
  • Go to Remote Databases click Add new connection
  • Put your username & password of CouchDB that you put in compose.yaml file, put your dabase name that you have create on section [[#1. Setup CouchDB]]
  • After you finish, Self-hosted LiveSync plugin will prompt you a couple configuration needed, If it's not just close - reopen your obsidian app.
  • Also you might need to go to Settings ⚙️
  • Navigate to Files and links section
  • Scroll to the bottom and find Rebuild vault cache section and click Rebuild

#obsidian #notetakingapp #selfhost #obsidianlivesync #obsidianlivesyncselfhost