I have an android phone and am looking to replace google photos for backing up my photos. I have a NixOS server with enough storage space.
Currently that only runs syncthing, but from googling I figured that backups are not the intended use case of syncthing. So I am searching for a different application.
The exact use case is: whenever I take a picture or video with my Android phone, it should automatically be uploaded to my server. If the upload does not work, it is retried later, and/or I get a notification. The tool should require as little manual intervention as possible.
I’ve been using Synching for years for backup. More recently also photoprism (server) together with PhotoSync (Android), and also Immich (which has its own Android app)
There is an implementation of restic for android, or you can use it from a shell if you have sufficiently adminy permissions on your phone to give a shell access to your pictures and the ability to run random binaries. Could probably make something with tasker for periodic backups.
Restic is actually designed for backups, it provides “snapshots” much like git commits, as it uses a deduplicating CAS to store data and not just sync it. This also gives it much faster sync times than nextcloud (just like syncthing), which is much more naive about how it syncs. It also has e2e encryption. All that gives it quite the edge over syncthing and nextcloud.
If you don’t like the unofficialness, or want to access your backups comfortably without using a CLI, seafile - while not explicitly a backup tool - is also backed by a CAS, so it has basically the same features (albeit likely less optimized for backups). It also has a nice UI for browsing stuff, much like nextcloud, it just doesn’t have a gazillion apps that do various cloud things.
NixOS has modules for both a restic server and a seafile server.
Syncthing is pretty close to optimal though, it just also stores an accessible copy on the remote, which isn’t usually desirable for backups, but may be for pictures, and doesn’t provide snapshots, which might not be essential for a backup solution used just for pictures. It’s pretty good at providing redundancy without much additional setup effort, too.