Hello fellow selfhosters! I have a laptop and a tablet (both running endeavourOS), and I want a certain folder to be always in sync. I also have a very potato server.
My two options currently are Nextcloud and Syncthing. The laptop and the tablet are rarely online at the same time, so I need the server as middleman (so, no syncthing laptop <-> tablet, but laptop <-> server <-> tablet).
Which one do you recommend? The power consumption (of the client) is also very important, because both the laptop and the tablet are battery-powered
I’m also open to other options as well!
thanks in advance to everyone!
Edit: thanks to everyone for your precious help! I finally set up syncthing and it’s working flawlessly!
Nextcloud and syncthing a 2 different things. While synching keeps your files synchronized between your devices, nextcloud is a cloud platforme which gives you access to your files on your server. The difference is actually very important even though a lot would argue that they are the same.
It really depends what type of technology you want/need. I would recommended syncthing for it’s simplicity and robustness. It only does one thing but it does it very well !!
To give you an example, I have a syncthing sever which is a middleman for my Zotero database.
Laptop <-> Server (syncthing) <-> desktop
. It’s very important to keep it in sync for the integrity of the zotero database !This kind of workflow wouldn’t work with nextcloud or rather will most of the time corrupt my database.
Nextcloud works as a simple cloud platforme wich is also great (with it’s up and downs) but works only as a cloud platforme to keep your files on your server.
The zotero docs recommend against synchronizing by just copying a folder as it can lead to corruption.
They recommend using webdav which nextcloud supports but syncthing doesn’t.
So your workflow is definitely possible with nextcloud and is the preferred option.
Yes I’m aware of that notice :) but it has been rock solid. Because it’s not just a copy. It syncs the folder.
This can happend if you work on both devices with Zotero at the same time (why would you do that anyway??). I already did my tests and with my server as a middelman I never had any corrupted data !
What does this mean?
it’s not just a copy. It syncs the folder.
It’s remarkable to me that you recommended to somebody an option that is the exact opposite of what you know to be true.
Do you think webdav somehow dumps you database? No it’s just a protocol to save your files on your webserver. It’s just a middelman.
recommended to somebody an option that is the exact opposite of what you know to be true.
Yeah it’s my recommendation from my personal experience. Is that wrong? I use it nearly everyday without any data corruption. Is my personal experience not valide?
The point is, syncthing is rock solid, never had any issue being it with my zotero database or syncing files between my devices. If you’re a Nextcloud advocate or are against my personal opinion so be it :).
Agree that we disagree !
Do you think webdav somehow dumps you database? No it’s just a protocol to save your files on your webserver. It’s just a middelman.
Umn. It allows the application to do its own synchronization and diff resolution. It’s why they recommend it.
Directory synchronization is a “best effort” to copy files back and forth without considering the application’s needs. Copying database files while they’re being written can be problematic for example.
Both Nextcloud and syncthing will synchronize a folder. And it will probably work if you aren’t making lots of changes on both systems. But there is increased risk.
Yeah it’s my recommendation from my personal experience. Is that wrong?
Yes - absolutely. “I’ve been lucky so far” and recommending against what the product you’re using says you should do is TERRIBLE advice.
The point is, syncthing is rock solid, never had any issue being it with my zotero database or syncing files between my devices. If you’re a Nextcloud advocate or are against my personal opinion so be it :).
Why are you getting defensive towards syncthing? It seems fine. It’s the wrong tool for what you’re using it for.
- for its* simplicity and robustness
- with its* ups and downs
I would go with syncthing, it uses far fewer resources, is rock solid and out of your way.
For that use case, go syncthing. Nextcloud would be overkill. I run both, I use syncthing for my personal files and Nextcloud when they should be shared with others.
I personally switched from NextCloud to Syncthing.
Syncthing:
- is easier for me to maintain,
- allows for the “server” to be behind NAT,
- lets me have multiple “servers” at the same time (eg. something at home and a VPS)
- lets me have certain “servers” set as untrusted, so all data on them is encrypted, while others can have it unencrypted for easier access I put “server” in quotes, as Syncthing doesn’t really have a server, all clients are equal peers.
On the other hand, NextCloud:
- gives me a way to share files by link with others,
- lets me browse files via a web interface,
- mobile app lets me access files as I need them instead of having to synchronize everything.
Syncthing because it’s p2p/ local-first. Meaning it’s robust to interruptions.
Quick pros/cons from what I’ve read (correct me if I’m wrong - I’ve not used syncthing myself):
syncthing
Pros:
- Easy to setup and use.
- No infrastructure to maintain
- Will sync directories between computers
Cons:
- Uses third party resources to sync by default (can setup direct sync if needed/wanted however)
- Only does directory synchronization
Nextcloud
Pros:
- Can synchronize directories
- Entire synchronization pipeline is under your control
- Offers a lot more functionality if you want it (WebDAV, Calendars, public shares with “anyone with URL can view” permission, etc.)
Cons:
- You need to setup/maintain your Nextcloud server
- Can be fiddly to setup for some (wasn’t for me - but lots of people do complain about it).
Syncthing can do direct sync if you give the ip address to each node and you can disable relay servers .
Thanks! Updated.
Happy to help 😉
If you’ve a large number of small files and you care about your data then use Syncthing. I personally sync all my data to a ARM SBC (like a Raspberry Pi) and have all my devices configured to sync to and from that device. Works flawlessly.
I also use iOS and for that I’ve WebDAV setup on the SBC that provides me with seamless iOS integration. I also have FileBrowser running on the SBC pointed at the same data so I can have a nice WebUI to manage all files.
Syncthing on Android has an option to only sync when on AC battery. The PC client might have a similar option. If not, you could probably configure something similar via systemd or udev under Linux.
I don’t think syncthing has proper means to synchronize contacts or anything else that’s not file-based though.
I use syncthing and prefer it for synchronizing files between my devices.
I hate Nextcloud and will recommend OwnCloud. NC is such a clusterfuck of a UI and full of abandoned third party software.
Isn’t nextcloud the “evolution” of owncloud? Except for the UI, are their performance similar?
Not necessarily. It’s a fork of OC but with more features and a completely different UI. Supposed to be more like the Google “suite” of products rather than OC which is more like just Google Drive.
A single folder and power consumption is important --> syncthing. It doesn’t have great power consumption, but since the devices aren’t constantly on, you can just start syncthing up on the portable devices when needed. You can configure syncthing to sync when connecting to a specific Wifi, when power saving mode is turned off, I think even specific times.
It’ll run fine on a server and can be configured .
Never had a chance to give syncthing a shot, but nextcloud works very well. On top of that, if you ever want to ditch apple/google - it will also happily sync your contacts, calendar, etc, as well as more niche stuff like bike rides. It can become chonky, but that really depends on how much stuff you’re asking it to do.
There’s a Sync thing client for Mac and iOS(Möbius).
That’s not what I meant.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters HTTP Hypertext Transfer Protocol, the Web NAT Network Address Translation SBC Single-Board Computer VPS Virtual Private Server (opposed to shared hosting) nginx Popular HTTP server
4 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.
[Thread #805 for this sub, first seen 15th Jun 2024, 13:15] [FAQ] [Full list] [Contact] [Source code]
BT Sync no longer in vogue here? That’s what I’ve used to both sync and distribute certain things. Used to use it for my image backup until immich came along and stole my heart. Still use it for phone backups
I’ve never heard of it, but it looks very interesting! Except for the working mechanics, from the “user pov” it works similar to syncthing, did I understand correctly?
Yupp! Set up folders, enable on multiple computers; baby, you got a stew going
I just use a Samba server behind wireguard.