Immich is the killer app that will kick-start the self-hosting revolution
A killer app can drag a product or a practice from obscurity to dominance. Before the iPhone, it was weird to have a make phone calls palm-sized touchscreen computer in your pocket, and my HP Jornada 928, and various XDA devices, attracted curiosity whenever I whipped it out in public.
The iPhone normalised smartphones thanks to its hardware design, multi-touch capacitive touchscreen and a user-friendly, gesture-based interface. It dragged pocket-sized computing devices out of the hands of geeks like me and into the sunlight. These days, you'd be considered odd if you didn't have a smartphone.
History is filled with examples of killer apps that made niche technologies mainstream, and transformed the esoteric into the norm.
GUIs, and MS Windows in particular, made computing accessible and mundane; Office transformed actual offices; America Online (AOL) popularized email in the 1990s, making it a mainstream communication tool and driving internet adoption.
The common feature with these technologies is that they make your life better in some way, and that they're easy to set up and use.
I'm a self-hosting enthusiast and evangelist - perhaps even a fanatic - and I use a Raspberry Pi 4B as a server. It's a niche hobby, and one that has caused innumerable headaches over the years. Sure - thanks to Nextcloud, Jellyfin, Audiobookshelf, FreshRSS, an email server, and a few other self-hosted apps, I've managed to more-or-less break free of reliance on tech giants, but it has, at times, been difficult. It's also hard to explain to friends and relations why I do what I do, and why they should too.
There has not, thus far, been a killer feature to bring self-hosting into the mainstream. In my opinion, that has now changed, and if there is anything that can convert your average person into buying a Pi and getting into self-hosting, Immich is it. It is the killer app
Everyone's a happy snapper
Thanks to smartphones, almost everyone takes a tonne of photos every day. There are selfies with your besties, random snaps of cute animals, what you had for dinner.
Over the last decade or so, you've probably snapped tens of thousands of images, and if you opted into the Android ecosystem, you've had them backed up automatically to Google's servers, free of charge.
Google Photos is a great product, and it got people hooked on photographing every detail of their lives. You can view your images on any phone with the app installed, or scroll infinitely through the web interface. You can search for your friends by name, or describe an object to see pictures of that cool butterfly you spotted back in 2018. It will even provide you with reminders of what you were doing on this day last year or a decade ago - affording you a depressing insight into your own aging process.
When Google pulled the rug on unlimited free storage in 2021 - imposing a 15GB limit across all of the company's free products - it left a lot of people over their allowance, and wondering what to do about it. The easiest option, of course, was to pay Google a recurring fee.
Sure, you could host your own Google Photos alternative, but that requires technical know-how, and the results don't compare to the simple, intuitive ease and usability of Google Photos.
I've previously recommended PhotoPrism for self-hosters looking for a Google Photos alternative. It's a great piece of software, and has served me well for several years - but it isn't Immich.
Immich is a better Google Photos clone
The first thing you notice about Immich is that it looks good. Better than good in fact, and has clearly taken design cues from Google. If it ain't broke, don't fix it, and all that.
Show the Immich demo instance to your mum, show it to your grandad. If they've used Google photos before, they'll recognise it instantly. It's intuitive to use. Scroll down, and see the years fly by on the right side of the screen. Click on a photo to open it fullscreen, and the information icon to get details such as the date, location, a handy map, and identities of anyone tagged. Simples.
Below is a screenshot of my old Google Photos web interface. While they do look extremely similar there are some glaringly obvious differences. The first is that it hasn't actually been used since 2020, and even then, these are WhatsApp photos automatically uploaded when I plugged in a phone I didn't even realise I still had.
You'll notice that in the Google screenshot, I have 10GB of 15GB used. While in the Immich image, I'm currently 998.7GB of 3.6TB. Storage is cheap, and in the long run, considerably cheaper than paying a subscription fee to the big G.
And then there are the nags, and reminders that storage is 66% full, and the constant exhortations to "Unlock storage discount or manage storage". Yeah. Screw that noise.
Up in the top right, of Google photos, you'll see a cog icon - click on it and see the top item on the settings menu is once again nagware to upgrade. Do I want to "unlock storage discount"? What does that even mean?
Settings in Google Photos are rather meaningless and banal. In contrast, the Immich administration panel is loaded with features that you don't have to touch.
I say that because many people - especially if they're new to running their own services - won't want to interfere with the way it works. But should you wish to, you can mess with the machine learning models, set thresholds for facial recognition, manage job concurrency, and even choose your own tile server for the map.
Did I mention the map? I thought Google Photos had this feature, but on revisiting it after several years, I can't locate it. The map is easy to find on Immich - it's the third entry on the left, it says "Map", and has a little icon of a map.
Click on it, and you'll see numbers in various locations around the world. These separate as you zoom in - giving finer detail of exactly how many photos were taken where. When the number is low enough, you'll see thumbnails start to appear. You can click on these. Neato.
Image and facial recognition is where it's at though. Google is good at this, and so is Immich, and if you want to, you can specify the limits at which a face is recognised. You can tag people, merge faces, set birthdays, and so on. While I'd love to demonstrate how this works, the people I've tagged would probably be upset if I plastered their mugs on the internet, and an image composed entirely of smudged faces kind of defeats the point. Instead, here's a composite of the tagged page of three dogs:
That's pretty impressive, right?
The app is also a no brainer. Install it from F-droid, Google Play or the iphone store(?), and the only real thing you need to plug in apart from your username and password is the server URL.
At the top of the app or web interface, Immich will even show you "memories" of this date in previous years. Click on one and it'll start a slideshow. Neat!
Given how awesomely Immich stacks up against the alternatives, why wouldn't anyone want to host their own - especially when you remind them that Google scans their photos as a matter of routine, so privacy isn't something you have to accept as a necessary cost of easy-to-use image hosting.
Immich is simple(ish) to install and use
OK. The prospect of setting up your own Google Photos clone with unlimited storage is exciting. But most people don't consider themselves experts, and only about 3% of people use Linux. Of those, a decent proportion will be Steam Deck owners.
Outside of tech and related industries, few people have ever seen a Linux terminal that wasn't in a movie about hackers. It's scary and unfamiliar.
The truth is that anyone can follow a set of instructions, provided they're clear enough. Copying and pasting commands isn't difficult, and if you run into problems, search engines are a thing, and there's even a friendly Immich Discord server where you can ask for advice.
If you know what you're doing, you can start with a newly bought Raspberry Pi, and have Immich up and running in half an hour or so. If you're a complete noob, it might take you an afternoon.
I've written a guide on how to set up Immich on a new Raspberry Pi - assuming the reader has never dabbled in the murky waters of Linux. While the article you're reading now is extolling the virtues of Immich, the guide to installing Immich on a Raspberry Pi is designed to get you up and running as fast as possible. Although it's stripped to the bone, the guide still weighs in at around 1,500 words. Go read it (or don't - I don't care).
Early releases of Immich required you to set a tonne of variables in an environment file. Now, it's just the uploads location. You can do just about everything through the web interface.
I'll grant that if you've only ever used a GUI desktop environment, installing Immich on a Pi will probably scare the shit out of you, but it's doable. Take a deep breath and follow the instructions.
Maintenance is as simple as running a single command:
docker-compose pull && docker-compose update
But just because it's relatively easy to set up, doesn't mean you're limited. If you're confident, you can fine-tune almost everything.
Immich is creating true believers and evangelists
Going back to the title, I still maintain that Immich is the killer app for self-hosting. I know this because people I know have seen me using Immich, and have heard me talking about it. They've seen that my entire family group have accounts on my Raspberry Pi Immich instance and that for them, it just works.
They're interested.
Several friends and acquaintances (Disclaimer: this writer have very few friends and acquaintances) have expressed interest in buying a Raspberry Pi, and hosting their own Immich instance.
One friend has actually pulled the trigger, and now runs accounts for himself, his wife, and his sons. It's a start. His prior computer experience amounted to owning a badly outdated Chromebook - that he now uses to connect to the Pi via SSH.
Eventually, his friends (he has many more friends than this writer) will get curious, or complain about photo storage limits, and he'll show them what Immich is, and how easy it is to use and install. There will be more converts.
This is how it starts.
My Pi-owning friend is only running Immich so far, but he's already opening his mind to other possibilities, and getting into the headspace where he doesn't need to rely on Google, Amazon, Apple, or any other corp. He's talking about a mail server.
This is how the self-hosting revolution begins.