Best free way to sync obsidian?
from lambda@programming.dev to selfhosted@lemmy.world on 09 Dec 05:18
https://programming.dev/post/22633282

I’ve been using Obsidian for my note taking for a little while and I love it. I love you can just do a quick [[[other note]]] and it will link to the other note. I love that the full thing is just in markdown files, so that I can have full control; even if Obsidian were to disappear.

The one thing that is a little frustrating for me is getting my notes synced between my desktop, laptop, and phone. I have tried using syncthing to just sync the markdown files directly and it worked pretty well. But, it seems a bit overkill on my phone. I think I’d rather move to a single server that I can connect them to and they can sync from there.

I have looked into a few plugins. I saw that there a git one. I am a developer. So, that seems like the natural way for me to do it. But, I also saw a post on reddit where they suggested webdav. Which might be closer to what I want. I don’t need it to be where I can type on two devices and have the stuff sync super fast or something. I just want to type my notes, close the app, and when I open it on a different device; I want it to have my latest notes ready for me.

What are you personally using for Obsidian? I’d love to hear from other people here. I don’t want to pay for Obsidian’s subscription service. I want to host it myself.

#selfhosted

threaded - newest

Skunk@jlai.lu on 09 Dec 05:42 next collapse

I just have my vault default location saved on a cloud drive. iCloud in my case as I have an IPhone but I guess it could be done with any cloud or owncloud if you have a server.

I used to use Git, but it is easier to just move the vault on a network/cloud drive as you don’t need to pull/push. As obsidian auto save when you type a character this makes the sync instantaneous with zero effort.

november@lemmy.vg on 09 Dec 05:43 next collapse

I’m using Syncthing. It doesn’t feel like overkill, especially since I’m also using it for music and photos. I basically just set it up and forget about it.

S13Ni@lemmy.studio on 09 Dec 06:02 collapse

Same, but apparently android app is no longer supported since google play was too annoying for the developer. So wondering how long I can keep it up.

PartyPatella@lemmy.ml on 09 Dec 06:15 next collapse

Perhaps take a look at this :)

github.com/Catfriend1/syncthing-android-fdroid

N0x0n@lemmy.ml on 09 Dec 08:12 collapse

Planning to close my Google Play Developer Account. Please say hi if you are interested in obtaining the latest gplay release files from me to help in publishing this app.

Seems like most open source project are leaving Google’s official store? That’s nice but will leave out some potential visibility for people who have no idea other than Google Store.

I wish their was also an easy way to leave github behind :/. Wait&See !!

LiveLM@lemmy.zip on 10 Dec 00:11 collapse

When Google doesn’t restrict apps via the Android APIs, they restrict them via the BS Play Store review requirements. I’ve seen apps loose important functionality over this, meanwhile there’s still rampant viruses roaming free in that dump.

I predict we’ll see more and more ‘Power user’ apps move away from the Play Store as time goes on

pineapple@lemmy.ml on 09 Dec 06:55 next collapse

F-droid

BearOfaTime@lemm.ee on 09 Dec 07:16 next collapse

Syncthing-Fork has been out for years and has more options too

Damage@feddit.it on 09 Dec 08:32 collapse

Just like @BearOfaTime@lemm.ee suggested, Syncthing-fork works fine for now, I’ve been using it on my phone to sync logseq notes and I haven’t had any issues so far

wraith@lemm.ee on 09 Dec 05:48 next collapse

Look at the LiveSync plugin as another option. It’s pretty robust but does require a CouchDB server accessible to whatever devices will be syncing information. The developer has several repos of slightly different server options, but if you use Tailscale there’s one that runs CouchDB through Tailscale Funnel.

v3ritas@infosec.pub on 09 Dec 10:36 collapse

I’m using LiveSync & it has been working great for me.

floofloof@lemmy.ca on 09 Dec 07:20 next collapse

I know you don’t want to pay for their sync service and this is the self-hosted community, but I just wanted to note that they service does work well and gives you access to note history. I decided to pay because Obsidian is excellent and I wanted to support it. I just wish it were open source.

Tywele@lemmy.dbzer0.com on 09 Dec 10:39 collapse

Yep, I used to sync my Obsidian vault with Syncthing but I had some trouble with it once where stuff wasn’t properly synced and led to conflicts so I switched to paying for Obsidian Sync and have been very happy with it. I was especially happy to see that now offer a cheaper tier that has enough storage if you only sync text files.

Fave@lemmy.world on 09 Dec 07:25 next collapse

I use git to sync Obsidian. Termux on Android and git on any other device. I have two scripts, one .sh one .psh, that I run to just commit and push the latest changes. On Windows I use the plugin shell commands for one-click running the script, on Android I need to use termux.

It’s not the easiest but it is, at least to me, easy to set up :)

rtxn@lemmy.world on 09 Dec 08:04 next collapse

I simply use Nextcloud to sync the vault directory. It has clients for both desktop and mobile and works perfectly fine. I use it to sync basically everything between my work, home, laptop, and mobile.

The only drawback is that I don’t know if Obsidian automatically reloads a file if it is changed - if not, and you leave the file open in the editor, you might accidentally overwrite the new file with old data.

Evilschnuff@feddit.org on 09 Dec 08:27 next collapse

I’m using the plugin remotely save and sync via WebDAV. Nextcloud provides a WebDAV interface so it’s pretty straight forward, and I can read my vault online via Nextcloud Web. Im mostly happy with it but sometimes there are some sync hiccups if versions of the plugin are very far apart but I also have 5-6 instances of obsidian that I need to keep in sync.

slug@lemmy.world on 09 Dec 16:06 collapse

this is my setup as well, shout out to removely save. and i never have any sync issues with 3 clients.

nichtburningturtle@feddit.org on 09 Dec 10:04 next collapse

I sync my vaults using Nextcloud.

hinterlufer@lemmy.world on 09 Dec 10:56 next collapse

the obsidian-git plugin. Auto commits and pulls/push every x minutes. Works great for me, I get full version control and works on all my platforms (Linux, Windows, Android). You just need to be careful with your .gitignore and add at least .obsidian/workspace.json to prevent conflicts.

Probably not suitable if you store larger files, but after a year of daily usage with tons of small images I’m still below 150 MB.

renegadespork@lemmy.jelliefrontier.net on 09 Dec 19:24 collapse

Does this plugin work on mobile too? I’m looking to try out Obsidian and this sounds promising.

_cryptagion@lemmy.dbzer0.com on 09 Dec 21:29 collapse

Yes, to both Android and iOS. It uses HTTPS instead of SSH, since most phones don’t support that without additional software.

FundMECFSResearch@lemmy.blahaj.zone on 09 Dec 11:08 next collapse

Just sync it using whatever cloud service you use, doesnt matter if selfhosted or not. ie. DIY

BTW if your library gets large and has a lot of plugins, it wont run to any useful degree on your phone.

JackbyDev@programming.dev on 09 Dec 11:26 next collapse

I just dumped my obsidian workspace into a folder synced by Google Drive.

HurlingDurling@lemmy.world on 09 Dec 15:45 collapse

You and also use crypmator to encrypt your notes inncase google ai starts reading them.

boatswain@infosec.pub on 09 Dec 14:34 next collapse

It seems to me that Syncthing is the exact right thing to use here; what is “overkill” about it that makes you think you should use something else?

FlappyBubble@lemmy.ml on 09 Dec 18:46 next collapse

No Syncthing is perfect. The problem is the Android app development issue. The main all had it last update ever earlier this month.

jaggedrobotpubes@lemmy.world on 09 Dec 19:48 collapse

Yeah I think it’s Syncthing-Fork now?

lambda@programming.dev on 09 Dec 20:02 next collapse

That’s the problem making me think about switching now lol

LiveLM@lemmy.zip on 10 Dec 00:07 next collapse

To be fair, Syncthing-fork has been around for a while, even before the main app got discontinued and it’s still rock solid

someonesmall@lemmy.ml on 10 Dec 06:31 next collapse

I’m using syncthing-fork on Android for years on multiple devices without problems.

laserjet@lemmy.dbzer0.com on 16 Dec 17:12 collapse

Also syncthing fork for years here.

I got worried when the official app was discontinued but from the fork repo it seems fine.

github.com/Catfriend1/syncthing-android/…/1149

github.com/Catfriend1/syncthing-android

Even though syncthing is great you should MAKE BACKUPS while you are setting it set up and anytime you tweak things. Things can go wrong. They might not, and there are lots of people who can truely tell you they have not had a single problem. But if you have the bad luck to check a box you didn’t understand or make some other error you will be SOL.

FlappyBubble@lemmy.ml on 10 Dec 16:48 collapse

Yes I’ve switched just recently. Just hope it gets continued development and didn’t just count on the original app.

untorquer@lemmy.world on 10 Dec 08:30 collapse

This is what i do. Just ensure version control is enabled. Works perfectly.

AlexanderESmith@social.alexanderesmith.com on 09 Dec 14:48 next collapse

Git

MonkCanatella@sh.itjust.works on 09 Dec 16:10 next collapse

This guide is incredible. It is pretty much instantaneous

thea@misskey.id on 09 Dec 14:45 next collapse

@lambda@programming.dev Syncthing worked wonders for me, though it is only recently that I knew about Syncthing plugin on Obsidian; I used syncthing without it. I used it to sync notes for three separate vaults between my laptop and android phone.

lambda@programming.dev on 09 Dec 20:01 next collapse

The plugin is nice to know about. I was just putting the vault in a syncthing folder.

Ogygus@lemmy.world on 10 Dec 07:15 collapse

How is this any different from having syncthing application?

thea@misskey.id on 10 Dec 09:16 collapse

@Ogygus@lemmy.world reading the readme (https://github.com/LBF38/obsidian-syncthing-integration - or search Syncthing Integration on Community Plugins), it apparently offers conflicting files resolution (happens to me from time to time when I forgot to sync before opening daily notes, but not a big deal) and an option to modify .stignore from obsidian (stil in beta, and also the same for most of the configurable settings), among other features. Just to be clear, you still need to install Syncthing on your devices. I'm not in the position to give any meaningful review for them, though.

Ogygus@lemmy.world on 10 Dec 14:38 collapse

Syncthing full allocation also offers conflict resolution 🤷‍♂️🤔

DieserTypMatthias@lemmy.ml on 09 Dec 11:37 next collapse

Obsidian has a built-in sync feature. Use it.

ninekeysdown@lemmy.world on 09 Dec 20:18 collapse

OP said they don’t want/can’t use the built in paid sync service and wants to self host it

DieserTypMatthias@lemmy.ml on 10 Dec 05:38 collapse

Alright then. I’d recommend Nextcloud.

_cryptagion@lemmy.dbzer0.com on 09 Dec 21:20 next collapse

I personally use the Obsidian Git plugin and sync it to a self-hosted Gitea server. You could also use GitHub or something similar, if you don’t mind them.

snrkl@lemmy.sdf.org on 10 Dec 00:42 next collapse

For what it’s worth, I ended up choosing the obsidian sync service. While it goes against my “self host everything” mantra, I do also want to support software makers who make great products that respect peoples privacy. As such, I decided the $8/m investment was warranted.

My son in highschool uses Obsidian for all his school note taking, so he actually is able to use the same sync subscription… As each vault has separate keys, there’s no privacy issues between us…

My favourite part of this solution is it supports live update from multiple devices at once, so I have the vault open on phone, tablet, home laptop and work laptop simultaneously, and it just works…

Just thought it was worth sharing.

lambda@programming.dev on 10 Dec 00:54 collapse

That’s fair. It’s just a lot of money right now.

snrkl@lemmy.sdf.org on 10 Dec 03:06 next collapse

Oh, I totally get it… I’ve been in the same place many times (and I’m sure I will be again…)

I just have a policy of trying to support these things whenever I’m able to, otherwise I feel I’m not able to grumble when privacy respecting apps disappear from existence through lack of financial support…

Appoxo@lemmy.dbzer0.com on 10 Dec 12:15 collapse

12€ (I believe) is way too much to using it maybe once every week for private use.
If it was something like Bitwarden where it’s around 10€ per year I would be totally up to paying it

laserjet@lemmy.dbzer0.com on 16 Dec 17:05 collapse

I wish more projects would have cheap rate subscriptions. Bitwarden was my first floss subscription and I don’t even consider canceling it even though I don’t really need any of the premium features. (I think its more like 1€ per month.)

But these “its the price of a fancy coffee per month” ones… Girl I haven’t had a fancy coffee since like 2018.

Appoxo@lemmy.dbzer0.com on 16 Dec 17:40 collapse

Yeah the 1€ per year was a typo ;) Fixed that

Father_Redbeard@lemmy.ml on 16 Dec 22:14 collapse

Don’t know if you saw that they added a $4/mo tier for Obsidian Sync. I thought $8/mo was too high and went to cancel it and saw the cheaper price. For how well it works as far as speed and reliability of syncing with version control, it’s worth that for me.

Nibodhika@lemmy.world on 10 Dec 08:04 next collapse

Not what you’re asking, but in case it helps. I don’t use Obsidian, I use silverbullet.md it’s very similar, markdown files with the ``[[other note]]` syntax (as well as some querying mechanism that I believe Obsidian also has), in short it’s almost an open source version of obsidian but it has some advantages IMO:

  • It is open source
  • It provides a sync mode, where you download the text to your device and it’s accessible offline to get sync afterwards.
  • It’s hackable so you can write your own functions and styles

I’m surprised almost no one has heard of it, the main developer is here on Lemmy, that’s how I found out about it. BTW I also use syncthing to keep backups of my data, and even specifically to not sync a work folder outside of the work computer even though the rest is synced, so I can access Silverbullet from localhost on the work computer and get everything there and any changes to non-work stuff get synced to my home server, and from my personal server get everything except work stuff.

anonvurr@lemmy.zip on 10 Dec 11:50 next collapse

Obsidian is great though, even if it’s not open-source. The stability of alternatives is not at the same level from what I’ve heard.

Nibodhika@lemmy.world on 10 Dec 13:04 collapse

Never had an instability problem with Silverbullet, although I’ve only been using it for a year or so.

lambda@programming.dev on 10 Dec 13:32 next collapse

I hope that there is a dark mode! lol I checked it out. I’ll probably try it soon.

Nibodhika@lemmy.world on 10 Dec 15:38 collapse

There is and it’s completely hackable, so you can set your own css if you prefer.

e8d79@discuss.tchncs.de on 13 Dec 16:42 next collapse

My new job wont allow me to install applications, so I was looking for a hosted Obsidian alternative. This looks very promising. Thanks!

laserjet@lemmy.dbzer0.com on 16 Dec 16:59 collapse

I would love to remove non floss obsidian from my day but its just so gosh darn useful. I came across Silverbullet a while ago in one of my periodic searches for alternatives.

Main issue getting in the way for me to even try it is docker. I understand that once you are comfortable with it, its convenient, but I never got there. I have tried running it every so often and its always some kind of issue that makes me give up. I keep a list of docker-only software to try in the event I ever get over that hump and this is on it.

As a competitor against obsidian, Joplin etc the docker pre req is a very high bar to clear. Overwhelming majority of users of note taking apps have not and will not run docker.

Knowing this, it makes me less excited about this project as it exists today because the best thing about obsidian is the giant user base creating so many plugins and tools to work with it. I wouldn’t care for vanilla obsidian at all, it is made great by all the community generated add ons. So a small user base is kind of inherently a knock against any given project for me.

I don’t know or presume this projects goals. If they want to be an alternative to desktop apps for less technical user-base, this would have to be resolved. But totally legit if that’s not the priority.

Nibodhika@lemmy.world on 16 Dec 21:09 collapse

I know you probably heard this thousands of times, but really, if you’re into self-hosting docker is a blessing. People make it harder than it needs to be when explaining all of the ins and outs. I assume you have a Linux box where you run your stuff, just install docker and docker compose there (you might need to enable the docker service, add your user to the docker group and reboot, unless you’re using a user friendly distro like Ubuntu). Then just make a folder anywhere for Silverbullet, create a file named compose.yaml and put the following text there:

# services means that everything inside is a service to be deployed 
services:
  # this is the name of the service, you can put whatever you want
  silverbullet:
    # this is the docker image to use
    image: zefhemel/silverbullet
    # this is the rule to restart in case of crashes
    restart: unless-stopped
    # these are environment variables you want defined
    environment:
    # this is a specific variable for Silverbullet, it's essentially username:password change this accordingly 
    - SB_USER=admin:admin
    # volumes are local folders you want to be available
    volumes:
      # in this case we want that the folder ./space be mounted as /space inside the container
      - ./space:/space
    # these are the ports we want to expose
    ports:
      # This means expose port 3000 on port 3000, if you want to access Silverbullet on port 8080 this would be 8080:3000 (because internally the service is still listening to 3000)
      - 3000:3000

Then run docker compose up and you should be able to access it on the port 3000.

Ling story short docker compose looks for a file named compose.yaml in the local directory, and that file above has all of the information it needs to run the server. I’ve annotated each line there, feel free to remove the comments.

laserjet@lemmy.dbzer0.com on 16 Dec 22:29 collapse

I really appreciate the time you took to help me but seriously there is always issues even when it’s supposed to be simple/basic. Nevertheless I am in the mood to be wrong and pleasantly surprised so I follow your instructions. (Spoiler: It doesn’t work. But I am not trying to request further help about this, because I am fairly resigned to the situation. I am just showing you, that I tried.)

I already had docker and docker-compose installed; I was already in the docker group; and the service was already active per systemctl. I guess from last time I tried this (not too long ago). Create directory, file etc.

$ docker compose up
unable to get image 'zefhemel/silverbullet': Cannot connect to the Docker daemon at unix:///home/username/.docker/run/docker.sock. Is the docker daemon running?

So I find Troubleshooting the Docker daemon | Docker Docs. It has several methods to find out if docker is even running which now I am confused about.

reports as inactive: # systemctl is-active docker, # systemctl status docker.service, $ docker info

report as active: $ systemctl status docker.service, # systemctl is-active docker,
$ systemctl is-active docker, # docker info

$ env | grep DOCKER_HOST and # env | grep DOCKER_HOST have no output.

ps aux | grep docker and top | grep docker tell me dockerd is running by root. So I think maybe I need to start it as a regular user for this exercise?

Found Start the daemon | Docker Docs which advises the use of dockerd either with or without sudo depending on environment.

normal user:

Starting up
dockerd needs to be started with root privileges. To run dockerd in rootless mode as an unprivileged user, see https://docs.docker.com/go/rootless/

Oh it needs to be root. OK, try again with sudo:

Starting up
failed to start daemon, ensure docker is not running or delete /var/run/docker.pid: process with PID 3952 is still running

So it is running? 3952 was pid reported by top and ps. It is running. But it’s not running.

Who knows… honestly this is how it goes every time. Maybe I am running services wrong… maybe I set something up last time because I was trying to solve another problem and it was suggested and that thing is now causing me am issue. I could chase my tail on this all week.

Like I said I completely believe everyone that once you’re rolling with it, it’s great. I’m happy for everyone who is able to access this. I will continue to live without it for the time being.

Nibodhika@lemmy.world on 16 Dec 23:01 collapse

Wow, that’s very unfortunate. If you installed docker through package manager and have added yourself to the group I believe this to be self-imposed, I don’t know which mechanism Docker uses to give access to users in the group to its service, but seems related to that since it looks like the service is running but just your user can’t access it. To confirm it’s just that run the compose command as root, i.e. sudo docker compose up, this is not ideal but if that works you know it’s a permission problem with your user.

You seem to know your way around Linux, so it’s probably not something obvious. I’m almost sure it’s something stupid and self imposed, I’ve done my fair share of stupid shit like leaving a config file malformatted or deleting a library or installing something through manually copying files only for something else to break because I overwrote something important.

laserjet@lemmy.dbzer0.com on 17 Dec 00:14 collapse

sudo docker compose up

OK, well that works enough to access the specified port and loads the webapp. So that’s cool. :) There’s a tcp error printed in the page itself but ?maybe? that is caused by improperly running it.

It could well be some self imposed error. But I’m always gonna be making those. If it is, it happened because I was trying to solve some other rudimentary issue. I’ve never gotten anything functional with this so it’s not like I was trying to do something fancy and got in over my head.

Part of the issue with docker in this attempt and other times is it doesn’t give good enough errors/output to diagnose. It’s really kind of you to help me here but I can’t call you every step. The documentation is too focused on making things look simple even when they’re not, and therefor glossing over whatever system weirdies are getting in the way. You identified a user issue and even I suspected it (that’s why I tried all those commands with and without sudo in the above comment). Yet it is not in the official documentation as a potential cause of said error. And now that I have confirmed it, I have no idea how to solve it. I see in my browser history I’ve previously looked up “rootless mode”. Maybe that’s how I screwed this up in the first place.

Moral of the story is, docker becomes a mess immediately. :D

Appoxo@lemmy.dbzer0.com on 10 Dec 12:12 next collapse

I would love a way to only keep it on a server (like S3) and access it live with a local cache.

boaratio@lemmy.world on 10 Dec 15:59 next collapse

I know this doesn’t answer your question, but I love obsidian and have no problem paying for the sync. If anyone can’t afford to do so, I completely get it and am not judging. But the company behind obsidian has taken zero VC funding, and are doing amazing things. I highly encourage folks to support them if you have the means.

garibaldi@startrek.website on 11 Dec 04:08 collapse

I wrote a guide with a few options: avidandrew.com/elevate-your-note-taking-with-obsi…

I personally use SyncThing with the SyncThing-Fork app now