immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
44.89k stars 2.17k forks source link

[Feature]: syncing through the internet #254

Closed nicopace closed 2 years ago

nicopace commented 2 years ago

Feature detail

It would be great if immich could sync photos to a home server while out... similar to how syncthing.net does by using proxy servers.

Platform

Server

alextran1502 commented 2 years ago

Hello,

Can you elaborate a little bit more about this feature, as I haven't used Syncthing yet so I don't have a mental flow of how this feature should work

nicopace commented 2 years ago

The relevant part of syncthing is they use a network of servers for discovery and NAT traversal, so syncthing instances can find each other over the internet and sync files even if they are not on the same network, and even if they don´t have ports exposed to the internet.

From my point of view, this feature is useful as I backup photos not only for the people that live in the same house than me, but also for my mother and syster that live somewhere else. For now we are using syncthing for syncing their DCIM folder in their phones to my local computer... but it has the downside that you don´t know which ones are synced (and so you can delete them from the phone safely as they are backed up already).

Having this functionality in immich would mean that no matter where the devices are, your memories are safely backed up.

Thanks for your responsiveness!

alextran1502 commented 2 years ago

If I understand you correctly, you want your family members to use the Immich instance you are hosting so that all their photos and videos on their phones are backed up to your server, am I understanding correctly your use case?

nicopace commented 2 years ago

Yes. The caviat is that the server is running here at home, in a raspberry pi... so it is behind a NAT. This could be solved in other ways:

On the other hand, if immich works in a home setup, it could be integrated to systems like yunohost or internet cube, so many more people could be using it to replace google photos.

alextran1502 commented 2 years ago

You can set up a reverse proxy, that is the current setup for a lot of users. Is this something viable to you?

nicopace commented 2 years ago

I could definitely put it in place... I will check it out... but I was thinking more of the average user that might not be able to do that. I think I am not clear in relation of who the target user is for immich... Having a VPS to do reverse proxy with is another level of complexity than having a raspberry pi running at home (for folks that are just starting with home servers, or for those that don´t have the 5USD/month at least).

Still, this is definitely a low priority thing (or out of scope).

Thanks for enaging still, and BTW great interview! (https://www.youtube.com/watch?v=lQwaxNoVNjM)

alextran1502 commented 2 years ago

You don't need a VPS to perform reverse proxy, you can reverse proxy directly from your raspberry pi. You only need to have a domain name, unfortunately, you have to buy this one ranging from $1/month to $$$$/month, depending on the popularity of the name :P.

This feature is not in the scope of Immich since there are already other tools that serve the duplication and synchronization purpose, like syncthing.net

For the target users, the admin should be able to set up these aspects because it is somewhat the skills in a self-hosting environment. The household users that use the instance you set up can be anyone without IT still.

I hope the answer is clear and justified :)