Using Syncthing as a Google Photos and Google Drive alternative

Hi All,

First of all, I could achieve a very nice implementation of combining Syncthing with PhotoPrism on a Raspberry Pi 4 device to get my photos synced one way (from phone to Raspberry, if I delete a photo on the phone, it still remains in my “home cloud”) and view the photos with even a better end-user experience that I had with Google Photos. Now I’m looking for a solution to access shared folders on Syncthing through either as a website, PWA (home screen icon imitating a website being an app) or a dedicated app (like Google Drive).

What did I do?

  1. Installed Syncthing on the Raspberry and on my Android phone.
  2. Configured it for the use case: local original folder as a master for all my photos, shared with my phone device as “receive-only”, in advanced configuration (top-right corner) I set the “Ignore Delete” on the folder, also, I set the “send-only” on the mobile device side.
  3. Installed PhotoPrism, which seemed to be the nicest solution for my use.
  4. Configured it in a way that it should use the same physical folder in my Raspberry as the “originals” (that’s how they call the source folder of unmodified pictures).
  5. Indexing the photos.
  6. Created the host.domain with noip.com, set the Dynamic DNS in the router for it
  7. Opened the website from a remote location and added the link from the three dots menu of Chrome for Android to the home screen.

PERFECT! It’s even better than Google Photos as I can delete photos freely from my phone’s camera folder, it won’t affect those that have been synced already, also it uses automatic tagging and AI to identify the content to make the search more easier and more importantly, I don’t have that threatening storage limit anymore :wink:.

So, this I leave here to help others. And now I hope that I could also get some help to do the same with Syncthing and maybe some other apps to have a Google Drive alternative.

My target:

  1. Keep all my files as an ultimate source in one of the folders on my Raspberry.
  2. These files should be accessible from my phone.
  3. Syncing is not a must, but I should be able to add/upload files from my phone to the remote folder.
  4. If syncing could be possible, it should allow mismatch on both sides: I should be able to individually set a flag on folders and files which pf those I want to be synced back to my phone. (Like if I want to repair my motorcycle and I need a service manual PDF, I would just keep it there on my phone for the time it’s needed.)

Thanks!

Thanks for sharing. I’m sure others will also fine the idea useful. :slightly_smiling_face:

Syncthing + PhotoPrism can be a nice alternative to Google Photos. I’ve used both separately but haven’t taken the time to combine the two.

To be fair, photos that have been backed up to Google Photos (https://photos.google.com/) can be deleted from a phone/table while still being accessible on-demand. It can be used on a per-photo basis or automatically for all photos visible to the Google Photos app.

The AI part of Google Photos is buried in its settings. It can learn to recognize faces (including pets) and also search for objects and places contained in photos.

Target requirements 1, 2 and 3 are no problem. There are a few ways to achieve it including:

Item 4 is the difficult one if you’re looking for an open-source/freeware solution other than commercial cloud solutions such as Dropbox, OneDrive, Box, Google Drive, pCloud, etc.

Depending on personal preferences for graphical interfaces, Syncthing’s Ignoring Files feature can be used to accomplish the selective-sync you’re asking for. For example, add a pattern that flags a particular file for syncing on the phone and remove it (and the file) when they’re no longer required:

!motorcycle-repair-manual.pdf
**

While not as easy as ticking a checkbox in a GUI, it does have some advantages including:

  • Whether a folder has 1 or 1,000,000 files makes no difference. Populating a graphical widget with a list of thousands of files with a checkbox for each one doesn’t scale well (the reason why Dropbox and other cloud services all recommend limiting the number of files in a given folder).
  • Easier to specify a group of files/directories when they share a common pattern in their filenames compared to individually clicking multiple checkboxes in a GUI (a multi-select drop down menu isn’t obvious to most users and harder to use on a touchscreen).

I can think of few ways to access your photos from your phone. one would be to use a vpn to connect to your router assuming that your router supports one or more vpn protocols such as open vpn perhaps?

Untested, but you could ssh through your router to an ssh server running on your Syncthing server. Then put all your pics on a local webserver.

Use a remote control client to view the Syncthing server screen.

Use meshnet or other free peer to peer vpn.

Personally, I broke down and pay Google $20 per year for 100 gigabytes of storage for my photos and the Google Photos app can search pictures for specific objects like I can type in the word owl and it will find all of the pictures with an owl in them.

Nomachine is a very good free encrypted remote control program that you can port forward through your router. MultiVNC and bVNC to ssh remote into my syncthing server, and others. Local servers are running tightvnc on Windows, and X11VNC on Linux.

On Android, I use both

Depending on how many gigabytes of photos you have, Pcloud offers up to 10 gigabytes of free space and a great photo viewing app for your phone. Music player too. I would run it on the syncthing server. I do this too.

I would like to use SyncThing as a replacement for Google Photos on my phone for sure. The big problem seems to be that on your phone, you might have limited space, and your home computer might have much more space available. So, ideally I want my phone to be a “sender” and the home computer to be a receiver. The big problem comes down to the fact that if I setup the “ignore delete” on the receiver, it ends up causing sync issues when I have a file that I legitimately want to delete.

Speaking from a pure feature perspective, could a new feature be added that makes deleting a file trigger a confirmation of delete (either on sender, or receiver) popup in the syncthing UI (much like other things trigger warnings or pop-ups) that might allow the user to selectively delete things? Maybe even batch ignore/allow delete requests?

I say this because managing a limited phone hard drive on vacation recently was a chore. Trying to get the server at home to hang on to files while deleting them on the phone but making the server not delete them too was relatively simple, after reading about the “ignore delete” and receiver and sender in the UI, but re-merging the new files with the old files caused me a bit of pain, this is a situation I think Syncthing could handle given some extra feature.

I mean there’s a lot of ways this could be handled. Maybe there’s a simple button that lets you “close” the current chapter of files to delete, but allows files after the chapter close to be deleted until the next chapter close, think of it like more laissez faire version control.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.