I’m kind of surprised I’ve struggled with this so long. Right now I’ve been using nextcloud camera upload, and mostly it works ok but shits the bed once in a while without me noticing and I need to spend time fixing it and it’s never as simple as turning it off and on again.
I recently tried syncthing, and while it works, it frequently crashed and got stuck in a state where it says it’s on and working by my destination folder is shown as disconnected, and the options to restart syncthing from the side menu are greyed out and the only way to make it work again is by force closing it and reopening it.
I’m running vanilla stock Google Android and truenas, does anyone have a better solution?
Immich
When SyncThing is correctly configured (battery optimizations , etc.), you won’t have any issues. (I’ve been using SyncThing for many many years now.)
Any suggestions on how to optimize it? :)
Using it on my steamdeck and on-demand on my phone.Set up a “global” ignore file that gets synced between devices. Call it
.stignoreglobal
for example and and change the.stignore
file (which doesnt get synced) on every device to only include. Now your ignore state gets synced between devices and you can make changes from anywhere.
Mine looks like this:
// Incomplete Downloads *.part *.crdownload // OS-generated files desktop.ini Thumbs.db // Cache cache spotifycache // Unity analytics Unity // LineageOS updater org.lineageos.updater // No read access :( /Android/{data,obb}
You can learn how to write one yourself here: https://docs.syncthing.net/users/ignoring.html
Other stuff:
- On Android I use this: https://f-droid.org/packages/com.github.catfriend1.syncthingandroid/
- Some Info on how you can reduce battery usage: https://github.com/Catfriend1/syncthing-android/blob/main/wiki/Info-on-battery-optimization-and-settings-affecting-battery-usage.md
- Make sure SyncThing is excluded from your phone’s battery optimizations (varies by vendor).
- To save on mobile bandwidth I have it set up to only sync on WiFi.
- You can set up a symmetric key (basically a password) and sync your stuff to a friends instance. Your friend will not be able to read the data without the key (make sure it’s a long random string). This also helps if you’re running a SyncThing instance on a VPS for example.