59be8ea8ed140d9b925bc5a3dafa9ec8ed57b123
Obsidian Sync Server
A headless Docker container that uses obsidian-headless to keep a local vault directory synchronized with Obsidian Sync.
Quick Start
-
Clone the repo:
git clone https://gitea-wc4w40kskg0c4g400s0wcgsg.coolify-7dou.ja7z.net/hermes/obsidian-sync-server.git cd obsidian-sync-server -
Configure the Host Path:
- Copy the example env:
cp .env.example .env - Open
.envand setVAULT_HOST_PATHto the absolute path of the folder on your computer where you want the notes to live.- Correct:
/home/user/documents/my-vault - Incorrect:
./vault(relative paths can be unpredictable in docker-compose)
- Correct:
- Copy the example env:
-
Set Sync Credentials:
- Fill in
OBSIDIAN_VAULT_NAMEandOBSIDIAN_SYNC_PASSWORD(your E2EE key).
- Fill in
-
Launch:
docker-compose up -d -
First-Time Login: Because Obsidian Sync requires a secure login, you must authenticate the container once:
docker exec -it obsidian-sync-server ob loginFollow the instructions to log in. The session will be saved in the
./configfolder, so you won't have to do this again.
How it Works
The container runs a continuous sync loop.
- Cloud
\rightarrowHost: Changes in Obsidian Sync are immediately downloaded to yourVAULT_HOST_PATH. - Host
\rightarrowCloud: Any changes you make to the files inVAULT_HOST_PATH(via a local Obsidian app or text editor) are immediately pushed to the cloud.
Environment Variables
| Variable | Description |
|---|---|
OBSIDIAN_VAULT_NAME |
The name of the remote vault you want to sync |
OBSIDIAN_SYNC_PASSWORD |
Your end-to-end encryption password |
OBSIDIAN_DEVICE_NAME |
The name this device will have in your Sync history |
VAULT_HOST_PATH |
Absolute path to the vault folder on your host machine |
Description
Languages
Shell
80%
Dockerfile
20%