this post was submitted on 15 Jun 2024
75 points (97.5% liked)

Selfhosted

39905 readers
318 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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!

all 41 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 4 months ago

I just use a Samba server behind wireguard.

[–] [email protected] 14 points 4 months ago

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.
[–] [email protected] 6 points 4 months ago (1 children)

They are very different things. If all of the places where you want to access the data have storage large enough to accommodate all of it syncthing is probably easier. If however you also want to access the data from your phone, then syncthing won't work, because it will sync the entire folder to your phone, there's no way to use it like you would Nextcloud, i.e. only downloading things as you need them.

[–] [email protected] 1 points 4 months ago

I use SyncThing on all my computers with my phone. I've setup my phone to just not sync certain folders with Ignore Patterns

[–] [email protected] 14 points 4 months ago

Syncthing is a better fit for your use case. As much as I appreciate having my Nextcloud setup, it can also be a pain in the ass some times.

[–] [email protected] 4 points 4 months ago

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 .

Anti Commercial-AI license

[–] [email protected] 2 points 4 months ago (1 children)

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

[–] [email protected] 1 points 4 months ago (1 children)

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?

[–] [email protected] 2 points 4 months ago

Yupp! Set up folders, enable on multiple computers; baby, you got a stew going

[–] [email protected] 24 points 4 months ago (1 children)

Having setup both, ive found syncthing to be much simpler. I would probably not go through the headache of setting up https and databases for next cloud again...

[–] [email protected] 4 points 4 months ago (1 children)

I’ve also set up both and in my experience Nextcloud is much much more complicated to set up but simpler to use and syncthing is pretty much the exact opposite.

In my case, a rather long time ago, it failed to reliably sync my files, had a super annoying web based UI, was a pain to get all my devices to talk to each other because because they had to join some sort of peer to peer network and authenticate with the earth other all three. It also didn’t have any working solution for mobile devices. Hopefully all of that’s fixed now because there’s no inherent reason it couldn’t work.

[–] [email protected] 3 points 4 months ago

Yeah with a docker container running 24/7 and a phone app it's much better. they also have a setting where deleted files on phone are simply moved to archive on the server.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago)

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]

[–] [email protected] 5 points 4 months ago

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.

[–] [email protected] 14 points 4 months ago* (last edited 4 months ago) (2 children)

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).
[–] [email protected] 5 points 4 months ago (1 children)

The maintenance part crushed me. Most of my other self hosted home setup, I fiddle with at most 2-3 times a year. Next cloud, I logging in at least once a month because something wasn't working.

[–] [email protected] 4 points 4 months ago

I switched the the snap package and it's been rock solid and pain free the entire time.

I welcome any and all comments on why snap is Satan.

[–] [email protected] 7 points 4 months ago (1 children)

Syncthing can do direct sync if you give the ip address to each node and you can disable relay servers .

[–] [email protected] 5 points 4 months ago (1 children)
[–] [email protected] 1 points 4 months ago

Happy to help 😉

[–] [email protected] 12 points 4 months ago

Syncthing because it's p2p/ local-first. Meaning it's robust to interruptions.

[–] [email protected] 7 points 4 months ago* (last edited 4 months ago)

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.

[–] [email protected] 18 points 4 months ago

I would go with syncthing, it uses far fewer resources, is rock solid and out of your way.

[–] [email protected] 4 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 months ago (1 children)

There's a Sync thing client for Mac and iOS(Möbius).

[–] [email protected] 1 points 4 months ago

That's not what I meant.

[–] [email protected] 16 points 4 months ago

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.

[–] [email protected] 47 points 4 months ago* (last edited 4 months ago) (2 children)

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.

[–] [email protected] -1 points 4 months ago
  • for its* simplicity and robustness
  • with its* ups and downs
[–] [email protected] 24 points 4 months ago* (last edited 4 months ago) (1 children)

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.

[–] [email protected] -4 points 4 months ago* (last edited 4 months ago) (1 children)

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 !

[–] [email protected] 20 points 4 months ago (1 children)

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.

[–] [email protected] 0 points 4 months ago* (last edited 4 months ago) (1 children)

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 !

[–] [email protected] 11 points 4 months ago

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.