Possibility for headless syncing with a CLI/daemon

+1 Would be amazing to automate obsidian.

Plus one for this as well.

I’d like to see this as well, but not just to sync and back up my vault to a server/NAS.

I like the backup idea but have another reason for doing this. I’d like to write automation code that would add or modify files in my vault, and have those changes sync to my other devices via Obsidian Sync.

I realize I could do this from the git plugin, but using native Obsidian sync from a command line tool would be preferable to me.

1 Like

This will be super useful.
I want to be able to have a CI pipeline that converts certain parts of my vault into blog entries automatically when I backup it to github.
Having to have a GUI environment just to be able to talk to the obsidian API it is a bit of a waste.l

+1 to this. I have a little server here where I keep all my files on and the only way to get Obsidian Sync to run is to log in and run the desktop app. A little background service would be great!

+1
I would use this to implement automations on my Obsidian vault. This would open up a lot of options and would be great for the community. Any way to make this happen?

+1 i agree 100%

+11

I thought about why this isnt in yet since it would enable easy [backup/connections with outside world ( think a service on a raspberry pi that puts stuff automatically in your vault even if your not using the app)'/…].

I think its because the developers would like to get people to pay for sync (I also do pay for sync) because its more comfy.

But I see this as a limitation for the development of obsidian… The app could be even more powerful with a proper API for pulling and pushing vaults…

Any thoughts?

I’d love to see this implemented. I really want to build automations, like, collecting new info from different feeds, process it with AI, and update a few notes in my vault, all from the server, without opening a desktop Obsidian app.

2 Likes

I would trade my left kidney for this feature.

+1

I imagine that this could be a feature of Obsidian Sync? The headless server would just need to use a token of some sort to use your Obsidian Sync account

1 Like

yeah that sounds fairr! +2

Use case or problem

I’d like to work with my notes on machines where I don’t want to or can’t run the full Obsidian app, but could run a background daemon that keeps my vault synced.

Proposed solution

Provide a standalone Obsidian Sync daemon that can be run as a background service (ideally via a simple CLI that can be managed by systemd on Linux).

Current workaround

The obvious workaround is to use a different service for syncing (Dropbox, Syncthing, etc.). Those are great, but I like Obsidian Sync a lot! I’m happy to pay for it and use it and would be even happier with it if I could run it without the full Obsidian app.

The FileSystem-LiveSync is the one that you can use if you have the skills required to build the Self-hosted LiveSync plugin environment.

(But the author is busy right now and doesn’t have time to answer questions, so it must be someone with the necessary skills.)

I would also like to be able to run only the syncing functionality. I want to be able to use Obsidian remotely, without hosting files on the actual computer that’s running it, and was hoping to sync the vault and edit notes using vim over SSH.

+1 for this feature request!
This would be the only proper way to backup Obsidian when having a Sync subscription.

I’ve subscribed to Sync for the peace of mind of device syncing, but Sync is not a backup. Therefore, a proper solution should be provided to help this backup.

In the meantime, I suppose I’ll have to run a Linux VM with a GUI to perform this…

Another vote of support for this. I have a cron task that adds various notifications to my daily journal note. So long as I have my laptop turned on. Which is fine at home, but on the road it is a problem. Throwing it on my headless server would be great.

I just rely on Syncthing for this on five devices.

in my .stignore I have this everywhere:

#include .stglobalignore

in my .stglobalignore I have this:

**/node_modules
**/.git
**/obsidian-livesync
.obsidian/plugins/recent-files-obsidian/data.json
.obsidian/workspace.json
.obsidian/workspace-mobile.json
**/*workspace*

my homeserver has versioning enabled for up to 365 days with increasing gaps over time.
I also always sync newest first, so the most recent note I worked on is likely in sync the moment I open obsidian on another device I just turned on.

this also allows me to tamper with notes on my homeserver or another device while running obsidian more than once at the same time.
so far, I have yet to encounter collisions. syncthing would tell you tho.

I’ve been using Syncthing, but I find Obsidian Sync more reliable, probably partly because Obsidian will know more quickly what is going on with the vault.

Since my server is 32bit, an open source little cli sync would also be useful for that reason too.