Sync files and Joplin notes on local network as well as mobile data

submitted by alphacyberranger edited

Tldr : Need to sync files on my phone and laptop via some remote repository.

So I'm currently using Syncthing to sync my backup files and Joplin notes on my phone and my laptop. I'm not home 3 days a week, so whatever notes I take or changes I make, won't be reflected on my laptop until I come home. I tried next cloud (free tier) sync for Joplin before, but the server has issues from time to time and but the sync part doesn't work properly.

Is there a way for me to use Syncthing or something else using some free or very cheap service and hopefully secure, in such a way that my phone , my laptop and the 3rd service all can be in sync. Also I'm kind of a noob when it comes to all these self hosting stuff, but I can learn some stuff not too complicated though.

Edit : My laptop is not ON during the 3 days I'm out of my house. Ideally once I power it on after a few days it should sync to the latest version.

Log in to comment

25 Comments

Painfinity , edited

My fellow self-hosting noob, I gotchu!

Here are three solutions that are easy as pie:

  1. Keep using Syncthing, but add additional devices to that folder to ensure one is always online and ready to receive and sync.
    • Pro: You can use an old laptop, a PC at home, your parent's phone and so on. It's like your own torrent network, as long as one peer is online it will always be synced.
    • Con: Your notes will be on those devices too. But in my personal experience Joplin notes don't take much space and as for privacy, you can always E2EE them.

 

  1. Use a different sync method that uses an always-on server for guaranteed sync.
    • I used Nextcloud for half a year and it worked flawlessly. I used the free 8GB hosting that tab.digital offers. Maybe give them a try again?
    • Alternatively, for an even faster experience (almost "Joplin server" levels of speed), use the S3 sync method in combination with Storj.io. They give you 25GB of free, decentralized, open-source, E2EE storage. You can DM me you need help setting up the S3 "bridge" with Joplin but it's fairly easy.
    • You could also use OneDrive or Dropbox and encrypt your notes end-to-end first, but let's assume you want to try to move *away* from closed-source services, not the opposite. Although the thought of making them pay the electricity bills without giving them your data can be quite amusing :P

 

  1. Use Elfhosted.
    • It's a newcomer in the "managed self-hosting" space that specializes in installing and setting-up all kinds of open-source software on a server for you. For some it's not really self-hosting since you don't have root access to the server, but at least it's not "Google Drive" levels of control and we're trying to get away from that. The guys at Elfhosted give you 10$ for free (no payment method required) to use on all of their offerings and as luck would have it, they also offer a Joplin server instance. The Joplin server instance costs 0.05$ a day, meaning that with those initial 10$ you could try it out for 6 months for free. As far as I can tell, at that price it can't be beaten, not even by a VPS. I used it two weeks ago and had no issues. You even get cool features like note sharing, multiple users and note collaboration. Or, always with Elfhosted, you could just use a Syncthing instance that's always-on, although they price that at 0.10$ a day.

 

P.s. There's a Joplin community on Lemmy too, at !joplinapp@sopuli.xyz. Happy syncing!

Edit: Hell, here's a fourth solution: Just use something like the FOSS app Round Sync and set it up so that it backs up your local Syncthing folder to a cloud of your choice (like those mentioned above) every 24h, or 2h, or even every 15 minutes. That way, once you come home and power on your laptop, your phone will automatically sync all your notes via Syncthing, but in the event that you lose your phone, you will have a "checkpoint" as recent as you want it to be. This way, you don't have to change your current setup and at the same time you're prepared in case something bad does happen. And in my case seeing that "Joplin Notes: Backup Completed" notification every 24h is something beautiful.

alphacyberranger [OP]

Holy shit, these are some really good suggestions. Thank you.

Painfinity

I may or may not have been in you exact situation for a while :)

If it's not too much of a hassle, let us know what you end up doing!

alphacyberranger [OP]

I'm juggling few things in my life now, but once I make something running, I'll make sure to let you guys know how I made it running.

ebits21

You could probably create a Tailscale vpn network (or something similar) and setup Syncthing to use the Tailscale address of your laptop.

Player2

This is what I do for Logseq, works very well

Nibodhika

What's the problem with syncthing? It can keep those 3 synced perfectly fine, no?

alphacyberranger [OP]

Syncthing works fine. The problem is, my laptop is not on all the time and in case my phone has a problem, I'll lose all my changes during the 3 days I'm out of my house.

Nibodhika

So? If your laptop is off there's no way to sync to it. If you have a server available you just set syncthing there as well.

alphacyberranger [OP]

So basically I just run Syncthing on all 3 devices? The 3rd device being a VPS something like that?

Nibodhika

Yup, syncthing allows for a folder to be synced to multiple places, so I don't see any problem with that. In fact I have 3 computers syncing things between themselves.

alphacyberranger [OP]

That's great. Knowing that'll certainly makes things easier. Thanks.

TCB13

Add a Raspberry Pi + USB drive to your network OR use a VPS to host your data and sync all devices to it using Syncthing. This RPi or VPS would work as a central repository/server for your all your data. Enjoy.

alphacyberranger [OP]

VPS looks interesting. I'll try that. Thanks.

bluegandalf , edited

You can deploy the Joplin sync server using docker on a VPS or any other computer always on. I've been using it for about a year now, without issues, though I'm now transitioning to Notesnook now.

alphacyberranger [OP]

Sorry I forgot to mention, my laptop won't be powered ON during the 3 days I'm not home. So I was hoping a 3rd repo could be used for both my laptop and phone incase one of them is not powered on, so that the next time one of them gets powered on, it'll automatically sync to the latest version.

Can I run docker for free or for 1 or 2$ a month on some platform and will it be secure if I do that?

BearOfaTime , edited

Yea, get a VPS (Virtual Private Server) and host it there.

Basically VM in the cloud that you use.

https://www.forbes.com/advisor/business/software/best-vps-hosting/

alphacyberranger [OP]

This looks interesting. Thanks for the suggest both of you.

schmurian

Are you using a VPN to connect to your devices at home? I have a similar setup, when I'm away from home, I connect via Tailscale (a version Wireguard VPN) and keep all notes in sync.

In Joplin I use the WebDAV connection to store files on my server at home.

alphacyberranger [OP]

Sorry I forgot to mention, my laptop won't be powered ON during the 3 days I'm not home. So I was hoping a 3rd repo could be used for both my laptop and phone incase one of them is not powered on, so that the next time one of them gets powered on, it'll automatically sync to the latest version.

helenslunch , edited

Just install SyncThing on whatever your Nextcloud was installed on?

Self-hosting is much more complicated than some folks would have you believe but software like CasaOS (not an OS), Yunohost, Cosmos Server and Umbrel make getting started so much easier.

Fisch

Once you turn on your Laptop it should just sync from your phone, no? I don't really get what the issue here is

alphacyberranger [OP]

Yes this works 99% of the time. But in case my phone gets corrupt or damaged then I'll lose the data that was not synced. So I wanted something that can sync remotely.

MiltownClowns

You could use a different service like one cloud or google and encrypt your data. Or you could get a pi, run it as a mini server, and run any number of docker containers from joplin cloud to nextcloud, or a simple webdav server.

alphacyberranger [OP]

Thanks for the suggestion. Will check out Webdav server.