I've never been a huge fan of cloud storage services in general. The idea that my access to my files is always dependent on an internet connection wasn't all that appealing, and the idea of paying a monthly fee for cloud storage was also not particularly enticing. I did do it for some time, though, because it's still the most convenient way for the average Joe to store files in the long-term.

But when I was introduced to the world of self-hosting a few months ago, I was very excited to start hosting my own photos. And thanks to Immich, my wife and I have both been able to move away from paid cloud services to a joint self-hosted solution, and it's wonderful. If you want to have full control and ownership of your memories, self-hosting is the way to go, and Immich is the best service you can use for it.

The cloud storage conundrum

Tribalism is silly, but it's real

Having one cloud storage service is already something I didn't really want, especially when it's paid, but I had an extra problem because my wife and I have generally been on opposite sides of the Google versus Microsoft debate. She had all her important photos in Google Photos, and I had mine on OneDrive, so for a while, we were both spending money on separate cloud services. Neither of us could convince the other to switch over.

Even without that, though, having your photos in the cloud presents some challenges. For one, you need an internet connection (as I've already mentioned) to access them, and while these companies generally don't look at your stored files or use them to train AI models, there's no telling what policies might change in the future and how your data may be used. Ultimately, your data in the cloud isn't in your control.

What's more, we often pay for more than we actually use. Even though I was paying for 1TB of OneDrive storage, my usage was almost always under 50GB, for example. It just felt like too much, and I actually cancelled my Microsoft 365 subscription (which includes OneDrive) even before I was set on self-hosting, choosing to clean up extraneous files in the cloud.

Self-hosting Immich immediately felt like the perfect solution for our family, and so we quickly embraced it as the way to store our photos.

Immich is everything we needed

Fully-featured and easy to use

Large companies like Google and Microsoft (mostly the former, admittedly) can often afford to craft a lot of convenient features that can make free and self-hosted apps seem less appealing. And while Immich won't have all the fancy features of Google Photos, it does a lot right.

For starters, the app's UI is designed to look a lot like that of Google Photos, with a somewhat similar side menu and a design language that feels very modern and smooth. Whether you use the web UI or the smartphone app, it feels great to use. If you use the mobile app, you can even enable automatic backups so your photos are always saved. I never do this because I take a lot of random photos, but I know it's an important option for many.

It also has some big features you might recognize from Google's service. Your photos and videos are automatically sorted in chronological order, with the scrollbar on the right doubling as a timeline so you can easily jump back to a specific date to find the memories you're looking for. However, you can also create albums to specifically organize your photos from memorable events or trips, and you can even use albums to start a slideshow just like Google Photos.

With the machine learning features, you can even enable some basic enhancements like facial recognition, so you can search for photos of a specific person. Location metadata is also supported, so you can still view your photos on a map.

And of course, even though it's a single container for the self-hosted app, you can create multiple user accounts with their own private storage, but also share photos and albums with other users on the same instance. My wife and I have separate accounts, but of course, a lot of photos from joint trips are shared between the two.

I still use the cloud

But not how you think

As a self-hosted service, you can run Immich on a regular PC using Docker, but I set mine up in TrueNAS SCALE, which is running on a mini PC. This mini PC only has one HDD so I have no redundancy built-in, which is obviously not ideal for storing memories. As such, I'm still relying on a cloud storage service, but instead of Google Photos or OneDrive, I'm using Backblaze.

Backblaze offers storage solutions that are perfect for backing up data from a NAS. Instead of a fixed price, you pay based on how much storage you're using and the number of uploads and downloads made from the server. Even with my heavy usage in the first month as we uploaded all our photos to Immich, we still haven't paid more than $2 for any single month, and it's usually closer to $1, with well over 100GB currently used (we're also backing up Nextcloud data to it).

Of course, if you have a proper NAS with a redundant RAID setup, the need for a backup is somewhat diminished — though it's often said that you shouldn't treat redundant storage as a backup, so it's still good to have an off-site backup if you can.

The downsides of self-hosting

Maintenance can be a pain

As much as I love using Immich and self-hosting in general, I was recently reminded of the frustrations one can face when self-hosting a service. Aside from (ideally) having to keep your containers update, as well as the NAS OS itself, sometimes, developers may break the way you're using those services for one reason or another.

Specifically, Immich recently received an update that deprecates the old storage model used in TrueNAS. In the past, you would have created main dataset for Immich, with multiple datasets for different kinds of storage, such as uploads, thumbnails, and videos. However, a recent update forces a new storage model where all the user data is stored in regular folders rather than datasets.

This has left me without being able to update the Immich server until I can move the roughly 100GB of data from my current dataset to a new dataset with the new intended structure. And while there is an official guide for this, this guide is not shown in the TrueNAS UI, so I initially did it wrong when I tried to figure it out myself.

With self-hosting, you need to be extra cautious to make sure everything is running smoothly and you don't do anything that might cause you to lose data. It takes time and patience occasionally, but I still prefer that to the extra expenditure of using a cloud service like Google Photos.

I love using Immich

Suffice it to say, after setting up Immich, I don't see myself going back to using a cloud storage service, whether that's Google Photos or OneDrive. I still love the idea that all my photos and videos are still here inside my house, but I can easily access them from any device, even when I'm away (thanks to Tailscale, but that's a topic for another article). I like all the features it offers and the fact that my wife and I can still have separate storage, all while also backing it up to a cloud service that gives us extra peace of mind for a lower price.