Self-hosting - Part 1 - Immich

Self-hosting - Part 1 - Immich

Disclaimer: My current setup isn't perfect and can be done in a better and more optimized way. I chose to do it this way as I didn't have much time currently but I'm planning to enhance it in the future.

In today's digital age, it's frustrating to see how people no longer truly own their data. Many of us pay recurring fees just to store our precious memories and files in the cloud—only for companies to monetize our data in ways we might not even realize.

The problem becomes even more glaring when we hit storage limits. Often, the quick fix is to either pay for more storage or offload files from the cloud to external drives. But over time, these drives fail, and memories can be lost forever.

This sparked a journey for me. I wanted to find a solution that would:

  1. Keep my data under my control, away from the cloud (as much as possible).
  2. Be especially tailored for my photos, which I cherish the most.
  3. Provide the flexibility to experiment with deploying other services locally.

After much research, I stumbled upon Immich, a self-hosted media management solution. I’ve been using it for over a month now, and honestly, it feels too good to be true. Immich replicates what services like iCloud offer and adds so much more. The best part? I retain complete control over my data.

Beyond just photos, setting up my home server has opened doors to running other exciting local services. It’s been a rewarding experience, one that not only gives me peace of mind but also the freedom to explore without monthly subscription costs hanging over me.

If you’ve been thinking about taking control of your data or experimenting with a home server setup, I highly recommend giving it a shot. Immich, in particular, has been a game-changer for me.

Installation

Immich offers multiple installation methods, but my preferred approach is using Docker Compose due to its simplicity—provided you're familiar with Docker and Docker Compose.

For a quick setup, refer to the official Docker Compose installation guide. With these instructions, you can have Immich up and running in just five minutes.

Once the service is live, open your browser and navigate to https://localhost:2283 to complete the configuration.

You can also install Immich app on iOS or Android and access Immich using the same link but with replacing localhost with the server IP.

After setup, start uploading your photos and videos. Immich will automatically initiate face recognition tasks and organize your media into a timeline.


Features

  • Automatic Face Recognition: Identifies and organizes photos based on recognized faces.
  • Timeline View: Displays your photos and videos in chronological order.


  • Map Feature: Visualize your media on an interactive map.


  • Advanced Search Options: Search by location, people, camera type, and more.



Redundancy

While Immich is a great solution, it doesn’t inherently provide redundancy to protect against drive failures or corruption, a key benefit of cloud storage. To replicate this aspect of cloud storage, I set up a RAID configuration (starting with a mirrored setup) and deployed Immich on mounted storage. Specifically, I created a ZFS pool using TrueNAS, shared the pool with the Immich instance using NFS, and deployed Immich inside the shared folder.



Remote Access

Immich does not natively support remote connectivity, but there are several ways to enable it, such as port forwarding, reverse proxies, or VPN solutions. I opted for a straightforward and easy-to-set-up solution: ZeroTier. ZeroTier is a VPN-like service that creates secure, peer-to-peer connections, allowing remote access to your Immich instance as if it were part of your local network.

Installing and configuring ZeroTier is simple and supports all major operating systems, making it a versatile choice for enabling remote access.


Power Consumption

If you're considering setting up a system like this, it's advisable to use a low-power PC or an old business laptop. While laptops are generally not recommended for such setups, they can be a viable option if you plan to remove the battery and keep the device continuously powered and connected to a stable internet connection.


Result

I couldn’t be happier with my current setup, which provides:

  • Full ownership of my data.
  • Seamless access from anywhere in the world, anytime, using my laptop or phone.
  • Data redundancy for added reliability.


References

https://immich.app/docs/overview/introduction/

https://www.truenas.com/blog/how-to-install-truenas-core/

https://www.zerotier.com/download/



Saalimmadani Hammad

Mechanical Engineering Student @ UEL | Robotics Enthusiast ?? | Skilled in Product Design, CAD & Prototyping | Co-founder @ Prime Vertex | Aspiring Technopreneur Driving Innovation ??

1 周

Honestly very much impressed ??

回复
Mohamed Alaa Eldin

Staff Software Engineer | ADAS | Autonomous Driving | Autonomous systems.

1 个月

Good job

回复
Mahmoud Hamamou

Senior Field Application Engineer at Omnivision

3 个月

I have to admit, this took me to memories of us in room 216 in ZC old campus when we used to discuss nerdy stuff like this out of the blue, because why not! I love the idea and the fact that you decided to share this, thanks a lot my friend. I will definitely try it out myself and I'll reach out to you for feedback.

要查看或添加评论,请登录

Ahmed Radwan的更多文章

  • Self-hosting - Part 2 - Jellyfin

    Self-hosting - Part 2 - Jellyfin

    Missed Part 1? Check it out here. A year ago, I became a parent, and like many others, I’ve been thinking about how to…

    2 条评论
  • IPC Mechanisms (ROS1 vs Shared Memory IPC)

    IPC Mechanisms (ROS1 vs Shared Memory IPC)

    Introduction Inter-Process Communication (IPC) mechanisms are fundamental to modern operating systems, enabling…

    6 条评论
  • LIO-SAM on Yonohub

    LIO-SAM on Yonohub

    We are pleased to announce the release of LIO-SAM Mapping ready-to-use Block on YonoArc. You can use the block to…

  • AirSim with Autoware

    AirSim with Autoware

    As illustrated in our previous articles(Autoware.ai Vision & Autoware.

    5 条评论
  • Autoware on Yonohub (Vision pipeline) — Part 3

    Autoware on Yonohub (Vision pipeline) — Part 3

    This article is part of the Autoware series. Check out the full series: Part 1, Part 2 We are pleased to announce the…

  • Autoware on Yonohub — Part 2

    Autoware on Yonohub — Part 2

    We are pleased to announce the release of Autoware Localization and Perception blocks on Yonohub. With these blocks…

    9 条评论
  • Autoware on Yonohub?-?Part?1

    Autoware on Yonohub?-?Part?1

    We are pleased to announce the release of AutowareAI ready-to-use environment on Yonohub. With this environment, you…

  • Waymo Open Dataset Player on Yonohub

    Waymo Open Dataset Player on Yonohub

    Introduction Waymo is well-known for their development in autonomous vehicles since 2009 and in 2017 they started a…

    13 条评论