Immich allows you to create a shareable link for an album which other people can use to view and optionally upload photos, without a login required. I've only used this particular feature on the web so I don't know how or even whether it works on the app though.
I LOVE Immich. Been using it for a few months now, first on a Raspberry Pi 4 and then an old x86 box. Before Immich I had tried for a while to use Photoprism with Syncthing to sync photos from my phone, but the transition to that from Google Photos was a frustrating one.
Immich on the other hand expressly tries to be a Google Photos replacement, and while I initially thought that was an audacious goal for a fresh open source project to have, I have been pleasantly surprised by how feature-rich it has become in a short amount of time.
I know the developer makes it very clear that it's not stable yet, so I'm making sure I back up everything from my server at regular intervals. But I've found it to be more and more stable with new releases, so hopefully a first stable release is not far away.
Can I ask what specifically you like about it over Photprism? Just the sync?
I've also been questing for a Google Photos replacement, and right now Nextcloud functions admirably for auto-sync but like garbage for anything past that like viewing albums afterwards. I've had an instance of Photoprism up for a while and was debating bringing it into "production" on my homelab.
The biggest one was that Photoprism doesn't have a mobile app. It seems a lot of people use PhotoSync (a third party app) to back up to a PhotoPrism instance, but I didn't even want to give it a shot considering they don't offer the premium features on Android. Immich on the other hand has apps that are developed together with the server and web UI, so everything is well-integrated.
I used it on a Pi 4 for a month or two. Everything else was fine but the pi was really starting to struggle running the machine learning container, especially when I imported a bunch of photos at once. I have it on a beefier x86 machine now and things have been smooth.
Photoprism is great at what it does but it's not a Google Photos alternative. It doesn't auto-backup photos from your phone like Google Photos.
I'm currently using Immich and although it's still a while away from having a stable release, it shows a great deal of promise. I like that it's being built with a clearly stated purpose of being a Google Photos alternative. It may never be as seamless or smooth as Google Photos, but I think it will be perfectly enough for privacy-conscious self-hosters.
FWIW there are a _ton_ of apps for both iOS and Android that will back up your photos and videos to your home NAS/server. Whatever you go with, ensure the files aren't being mucked with during or after the transfer--Google Photos on Android may omit and/or change some metadata tags, for example.
I personally use Resilio Sync [1] (for iOS and Android) and have tested SyncThing [2] (for Android), and PhotoSync [3] (for iOS and Android). They all work well.
Syncthing is an option, but it's typically for a different use case. Most people will want their photos backed up in a way that means they can delete the photos on their phone and still have a copy, but Syncthing would delete it on the NAS end as well.
There's an ignoreDelete option but the docs advise against using it[0] and IIRC the developers want to remove it.
One way sync would stop your server syncing back to the phone, but wouldn't you still need the ignoreDelete option to stop deletions on your phone syncing to your server?
The trick is to sync to the import folder and let photoprism import them, which removes them from that folder anyways. So your phone deletes have no effect, since the photos are not in the import folder anymore. I have my imports run every 10 minutes, so there is never a huge buildup of photos to process at once. It's been working great so far
Syncthing can do this and much more. Its the absolute best option to sync anything anywhere. It is very flexible, uses local connections, can only sync on wlan/certain wlans. The only thing that could be better is UX - for novel users its not so easy to understand. But people hanging out on HN should choose it as its just great!
I agree it's very good, and I use it for a lot of other folders eg notes, but I don't see how to use it as a backup tool for photos, without either using the option linked above or copying/hardlinking elsewhere on the NAS end. Unless there's a setting I'm missing that stops it from deleting on the NAS end?
EDIT: Don't get me wrong, it's my favourite file syncing tool, especially as one of the few open source syncing solutions. But I worry it always gets recommended as a backup tool and people don't realise it'll also sync deletions, so they'd suffer data loss.
Oh, I do use ignoreDelete. I additionally use git-annex on the receiving side, with the daemon running, so it automatically annexes the files and pushes to long term backup that way.
One thing I've done as well is to set up a simple script which gets run from a cron job and will let me know via email if it hasn't seen any new photos uploaded for 3 days (it's pretty unusual I'll go 3 days without taking a single photo on my phone). This provides a simple early warning for things like backup/sync apps getting killed by aggressive phone power management.
> It may never be as seamless or smooth as Google Photos, but I think it will be perfectly enough for privacy-conscious self-hosters.
This struck me... Us techy people should be able to use our knowledge to get more out of our tech setups.
But lately I've felt that opensource tooling has been falling behind. My mum can post a video to YouTube for everyone to see in seconds, but if I try to do the same with opensource tools, I will probably still be battling a bad transcode from ffmpeg that glitches on some family members phones and doesn't have sound for other viewers...
What glitches are there in ffmpeg? The problem here is a resource imbalance inherent in the difference between proprietary big tech platforms and often individual self-hosted software. While some of these self-hostable software are of high quality, these will never match the resources that Google or Facebook has. They can't afford to fix every issue in existence, because they are often volunteer projects making little to no money. Techy people understands this tradeoff, and proceeds with open source tools, because they are aware the situation that proprietary platforms can put them in and they would like to avoid it.
The glitch isn’t in ffmpeg, it’s in the receiving phone since you sent them a format which isn’t supported by that phone’s hardware decoder. The trick of youtube isn’t just a quick upload, it’s the auto transcoding to formats for anything that requests it over any arbitrary link speed.
Yep. And if the opensource world wanted to match that functionality, you would want ffmpeg to have an option to output all common formats, packaged together in a mega-file.
Then, when a user wants to watch a video, they could use HTTP range requests to download just the data they want to view from the megafile, in the format they need. If, midway through watching, their internet gets a bit slow, the browser could auto-switch to a different lower-res format. The megafile would have the necessary indexes etc to know which timestamps of which audio and video feeds are at which byte locations, and where keyframes are for easy switching.
Things like youtube have proprietary code to do this. But the opensource world doesn't have much comparable - at least nothing widely deployed to be able to just send a video to a friend, and know that whatever device and internet connection they have, they'll have a good experience.
> This struck me... Us techy people should be able to use our knowledge to get more out of our tech setups.
You are going up against a probably 1000s strong team of equally techy people whose job it is to do what you are trying to cobble together. Unless there is a niche use case that you are trying to workaround, it is hard to solve a mainstream problem that isn't solved better by one of the Big Corps.
Why wouldn’t you be falling behind? YouTube has tens of thousands of full time hackers. It’s the height of silliness to imagine that some disorganized hobbyists can match the experience.
Beyond that, since these projects are rarely usable enough to get a critical mass of non-technical users, they just morph into beautiful, powerful core applications wrapped in a janky, thin wrappers that people call a UI.
It supports WebDAV, discusses that in the docs, and links to an app that does well enough at backing up a phone to start off. Not seamless like Google photos for sure, but not nothing. https://docs.photoprism.app/user-guide/sync/webdav/
Many people suggest that you can auto-backup with whatever other tool works, and indeed there are a few choices.
But that misses the point, which is that in Google Photos you can manage the same collection from the phone or from the web. Adding a pic to an album should feel the same, no matter whether the pic is already synced or not yet synced.
This does make sense as a more specific UX/workflow complaint, google photos and similar setups are going to do much better with that. You can use the PWA on mobile after the sync runs, but it's not going to be the same as native apps on mobile and server that manage syncing behind the scenes. So definitely a downside if most of your photo management happens on the phone.
I'm using photosync with photoprisim and it works fine to autosync photos off, with the only caveat being that i'll occasionally close the app and it won't run for a few days/weeks.
Not as seamless as iCloud Photos but it works great.
I use PhotoSync as well, I setup a shortcut/automation that runs it anytime I connect to home Wi-Fi, after a 30 second wait and SSID check to prevent false positives.
I still have to click the notification, due to iOS limitations but having the notification show serves as a good reminder to run it.
I've been using it, and once it gets a stable release it looks like it'll be awesome, but right now it's pretty buggy. The new immich-proxy docker image doesn't work, so you have to use 1.45, and I've been having very odd issues with immich-postgres (it changes the permissions of the pg_data folder to 700 and owner to systemd_coredump... Not good.)
That's awesome! Thanks for sharing. I had a go at all the contenders a while ago when Google Photos changed their storage policy and did not see that one.
I see a sharing menu in one of their screenshots. Considering that it's self-hosted, how does sharing work in that system?
You can create multiple users on your server and share your albums or individual assets with them. You can also create public sharing links that anyone can access, just like Google photos. You'll of course need to make the server accessible to them in some way.
My server is hosted at home in a Raspberry Pi and an SSD for storage. I have a public domain name and it is forwarded to my home network through CloudFlare. Might be a little risky security-wise, but I want to eventually make this instance usable for my parents.
At least for the foreseeable future, I'm going to be buying a Pixel and immediately installing GrapheneOS on it whenever I need to upgrade my phone.
The experience is not perfect, and especially if you opt to not even keep the sandboxed Google Play Services, lots of apps just won't work. But it's a trade-off I'm happy to make.
My Pixel 5 is exactly what I wanted. The problem is that Google only gets it this right every few generations, and it doesn't always coincide with me needing a new phone.
Either they forget the size of human hands, the EUR:USD exchange rate, or some other obvious thing that makes their current generation a no-go.
Seemingly there isn't, which is a shame because a lot of people would benefit from it. Practically everyone has a smartphone and people's photo libraries keep growing and growing. When I was young and still naïve about the big G, Google photos was awesome but now it doesn't make sense to hand over all of my photos for them to mine and have to pay for storage too.
Right now my setup involves using Syncthing to get photos from my phone to my RPi-based NAS, where I'm running a Photoprism instance. On paper it looked great but Photoprism lacks polish and some important features. On the app side I planned to use PhotoSync to sync with Photoprism but didn't bother downloading it when I found out it wasn't open source and the Android version was ad-supported. A solid Android app that uses Photoprism as a backend and is as smooth and fast as Google Photos would be great to have.
I feel exactly as the author feels, and it's heartening to see so many comments here talking about this problem. What baffles me is outside of HN and the occasional news story or opinion piece, people seem to be just unbothered. People (or at least my friend and acquaintance circle) seem to keep using these platforms, posting on and what the infinite scroll feeds them as if there's nothing out of the ordinary about it all.
I've tried sharing on my social media how I feel about it all in the past, but I stopped after I started feeling like most people don't have a problem with it. No one wants to be the person that demands the state of affairs should change just because it inconveniences them.
I imagine a lot of people feel helpless if they think that using these apps is part of the mix of being socially relevant, but there are limited ways they can change how those apps work. Or they feel it replaces their idle TV watching and so aren't bothered that it's endless and passive.
Instagram is important in my industry and I detest the infinite scroll, but multiple times a day I carry past the "caught up" point and get partway into suggestions and ads before I realise. I'd love a feature to switch it back to how it used to work, but that's very unlikely!
After years of trying to be productive with to-do apps, I've found that nothing beats the flexibility of plain old pen and paper. Even analog systems like Analog or Bullet Journal impose rules of varying inflexibility, and that made them very unappealing, for me at least.
I guess this is because people have different ways of thinking about goals, tasks and timeframes. For me what works best is a 'week todo' that contains coarser/larger tasks and a daily todo that contains more granular tasks, often sub-tasks of the weekly ones. Adopting this method has made me more productive than I've been in years.
I built something similar for my girlfriend's birthday a few months ago. A buzzer and a lightbulb connected through a relay to an RPi, which hosts a basic HTTP server. The server is exposed to the Internet through a reverse ssh tunnel to a VPS in the cloud.
What has taken me aback is how it regularly receives malicious traffic that I suspect is from bots scanning for vulnerable servers. The hostname is not shared anywhere public. The client app that knows the URL has only been shared to her as an APK. Made me realize there's no such thing as security through obscurity.
You're saying the malicious requests are hitting the obscure path that only shows up in her apk?
Is it running https? Trying to think of how they would have gotten that, eavesdropping would be one way.
Otoh if they are hitting your host by randomly probed IP address but don't know the obscure path, that is not surprising at all. There are tons of exposed http ports unknown to their operators, and it is makes total sense that bad actors are trying to discover them.
No, thankfully they're hitting paths like /phpmyadmin/index.html which do not exist on the server. Makes sense, it's probably random IP address based probes long you said.
I'm not running https but I should, to protect myself from someone MITMing the requests and possibly pwning my Pi.
I wonder if having only an IPv6 address would provide enough obscurity to be reasonably secure in this case? Or maybe those allocations are still to publicly guessable?
I used to be like this until about roughly the same time as I got my first smartphone. Now I just have to fill my 'empty' time with watching, reading or scrolling of some sort, otherwise I'll start to get anxious and bored. I miss those days of daydreaming and contemplation, but I've found it very difficult to go back to not needing to look at screens.