At work, I have a group chat with some of my coworkers where we talk about our homelab environments. One service that came up time and time again was Immich, a self-hosted Google Photos alternative. I was pretty lazy in this regard, until my dad brought up the fact that he was running out of space on his Pixel phone before his trip to Europe with my mom in early-September. Given the limited storage capacity on his phone and the need to free up some space locally, this seemed like a good time to give this a go.
Setting up Immich was pretty easy. It has a server portion and client applications that talk to the server. The recommended deployment was with Docker, and thus the included docker-compose.yml
file was a good starting base: I ended up removing the exposed port and put it behind my Apache2 reverse proxy. OAuth was also natively available, so I linked it with Authentik: all user logins are redirected to Authentik to handle AAA, and disabled username/password login altogether.
As for photo migration, my mom and I had organized them into folders/albums a while back on our NAS. One thing I didn’t want to do was to recreate these albums again post-import. Thankfully, Immich has a golang docker container tool that can be used to bulk upload our existing photos to it and associate the photos to albums. I created a shared family account to upload all the sorted photos, and enabled partner sharing from that shared account to each of our individual accounts. That way, we can all see the common photos. Moving forward, photos from our individual devices will directly upload to our own accounts, and we can share our photo albums with each other.

Now that I’ve used it for over two months and it’s been relatively smooth sailing, I decided to support them by buying a license. The folks over there are building an amazing application, and I hope they can continue to do so in an open-source and hopefully economically-sustainable way.
The mobile app works great: it’ll back up my photos when my phone is plugged in. It is a little slow during startup, but it looks like the team has been making optimizations to improve the performance, so it’s just getting better and better with time. It has a similar look and feel as Google Photos, so migrating over didn’t really have a learning curve, which was nice.
Immich also helps my other friend groups as well, since we’ve been running out of space on Google Photos for our trip photos. I gave my friends their own accounts to access it, and they can store our trip photos on it. I gave everyone small quotas to start so that I can estimate the disk space required to host and to do backups. Shared albums just work, and for other friends that don’t have accounts on my server, I can also give them a password-protected link to access shared albums, and they can also upload images to those albums, too! That has been pretty handy when we’ve had parties and hangouts, and I wasn’t the only person taking photos.
Overall, if you have a homelab setup, I definitely recommend giving Immich a try. It’s getting more stable with time and definitely beats having to pay for storage space at Google if you already have a NAS at home. Great stuff by the developers, with more features and a roadmap for the future. Go check ’em out!
Anyways, that’s all I got this time around. I have more infrastructure-related things in the pipeline, as well as several packages of anime figures on the way, of which I plan to take photos and share when they arrive.
Until next time!
~Lui