this post was submitted on 20 Jan 2024
21 points (95.7% liked)

Selfhosted

40274 readers
1378 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
 

Hi, I'm looking for a FOSS file syncing/sharing solution that does all the following specific things:

  • Sync files only when needed, to save space on my client devices.
  • Preserve the filesystem on the server for backups. So no opaque blocks like SeaFile.
  • No need for external MySQL/Postgres container. SQLite would be okay.

Currently the closest thing to fulfill these is oCIS, but it has a decomposedFS file structure which defeats the second point. Nextcloud may run with embedded SQLite, but I'm reluctant to try it again due to previous experiences (lots of bugs, sluggish, etc). Mountain Duck and FileRun are not FOSS. ~~Filestash would be nice if it can integrate with existing Nextcloud/Owncloud clients for the on-demand syncing functionality, especially on Windows.~~ It would be nice to have an open-source alternative to Mountain Duck, in order to use on-demand sync functionalities with a standard storage backend such as SFTP.

Would you have any recommendations of what to do?

Thank you in advance!

top 16 comments
sorted by: hot top controversial new old
[–] Berinkton 11 points 10 months ago (2 children)

I use Syncthing for this type of task on my PC and Phone and it stores a copy of the shared folder on the server with the option for file versioning. Having a Server is optional by the way.

[–] [email protected] 5 points 10 months ago (2 children)

AFAIK, Syncthing clones the entire folder across peers (the server is just another peer it seems), which isn't ideal for my use case Do you know any current way to configure it for selective syncing?

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

I don’t think it can do selective syncing. I’ve been also searching for a similar solution but didn’t find one. Finally opted for syncthing with my most important files. Other files I can get them via web using filestash.

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

Owncloud supports selective sync, and seems a lot better for performance compared to Nextcloud.

Alternatively you could roll your own with rclone which is essentially an open source alternative to mountain duck. Then you can just use a simple connection via SFTP, FTP, WebDAV, etc...

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

Non-OCIS Owncloud still needs a dedicated database and recommend against SQLite in prod

I've looked at rclone mounting with the --vfs-cache-* flags. But I'm not sure how it can smart sync like mountain duck or handle conflicts elegantly like the Nextcloud/Owncloud clients do. Let me know how to set it up that way if possible

[–] recursivesive 4 points 10 months ago

I vouch for Syncthing as well. I enabled storing in my own remote hosting provider marking it as untrusted, so my files are encrypted there.

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

Commenting largely to watch - I use Syncthing as my daily driver sync tool, and Resilio for the on-demand stuff.

Resilio has on-demand/selective sync, but I don't recall if it's open source, I don't think so. Plus, it's hard on memory with larger folders, as it keeps the index in ram. My media sync folder really impacts my desktop, and I only run Resilio on my mobile devices when I want to sync something, then turn it off.

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

Update: there seems to be a more "native" storage driver for OCIS that is currently WIP. It seems very exciting

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

I am playing with SFTPGO, while not being a backup solution its a great backbend supporting sftp, WebDAV and much more that you can bind with something on client side.

Currently using synchthing, but planning to switch since that is not a backup tool.

[–] b3an 1 points 10 months ago* (last edited 10 months ago) (1 children)

Your post stood out to me. Why isn't it? Also what would you suggest? Thoughts on restic?

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

I use restic. Nice simple and works. Synchthing to keep files synched between phone and server. Restic for server backups.

Sftpgo is a very interesting backend + web interface if you look for something to access/copy/backup your files remotely.

[–] vegetaaaaaaa 1 points 10 months ago

SFTP mountpoint + rsync (or grsync GUI) or unison (or unison-gtk GUI)?

[–] theRealBassist 1 points 10 months ago

I don't think this would solve your particular use case. However, SSHFS is absolutely amazing for remote smb share access.

I used it on my laptop to access my home NAS for years.

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

Why no real db? Those other 2 features make sense, but if the only option you can use sacrifices the 3rd option then it seems like a win. Postgres is awesome and easy to backup, just a single command can backup the whole thing to a file making it easy to restore.

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

I think oCIS spoiled me with regards to the database issue xD. You bring up a good point - I'll try reinstalling Nextcloud with Postgres, removing unneeded bloat, and use it until oCIS has a "native" backend