How I Self-Hosted Immich on Ubuntu Server 24.04
One of the easiest ways to lose control of your personal data is to let every photo and video you take flow straight into somebody else’s cloud. That convenience is real, but so is the tradeoff. If you want a private photo cloud that you run yourself, Immich is one of the most exciting open-source options out there right now.
In the video, I walk through setting up Immich on Ubuntu Server 24.04 with Docker and Docker Compose, using my KeepItTechie script to help with the Docker side. The goal is simple: get your own photo and video platform up and running, connect the mobile app, and start managing your library on your terms.
This write-up sticks closely to that path and focuses on the flow covered in the walkthrough.
Why I’m Using Immich
The big reason comes down to control.
Immich is positioned as a fast, modern, self-hosted replacement for services like Google Photos. That makes it appealing if you want the familiar idea of automatic uploads, a clean interface, and mobile access, but you do not want your memories tied entirely to a big tech platform.
For homelab folks, this is exactly the kind of project that makes self-hosting feel useful instead of just experimental. You are not spinning up something random for the sake of it. You are protecting your own photos and videos and building a service you may actually use every day.
That also makes Immich approachable for different skill levels. Whether you are newer to Linux or already comfortable running containers, the setup process shown here is meant to be practical and repeatable.
What Immich Brings to the Table
From the video outline and description, the focus is not just on installation. It is also on why people are interested in Immich in the first place.
Immich is presented as:
- Fast
- Modern
- Self-hosted
- A replacement for Google Photos
- A strong open-source option for the homelab world
The walkthrough also calls out several parts of the platform experience:
- Setting up your library n- Connecting the mobile app
- Uploading photos
- Maps
- Albums
- Admin tools
- Backups
That combination is what makes it compelling. It is not just a place to dump files. It is a full photo and video management experience that is designed to feel like a polished personal cloud.
The Platform Used in the Video
The install target in the walkthrough is Ubuntu Server 24.04.
The deployment method is Docker and Docker Compose.
That is important because it keeps the install cleaner and more modular than trying to manually build every piece by hand. Containers are a natural fit for this kind of self-hosted app, especially if you want something you can maintain over time.
The video also references using the KeepItTechie script for the Docker setup step. That means the flow is designed to simplify preparation on the server side before getting into the Immich deployment itself.
High-Level Setup Flow Covered in the Video
The video chapters give a really clear picture of the process:
- Intro and why Immich is worth using
- Overview of what Immich is
- Why self-host your photos instead of using Google or iCloud
- Prepare Ubuntu and install Docker
- Create the Immich directory and download the Compose and
.envfiles - Start the Immich containers
- Complete the first login
- Tour the Immich interface
- Set up backups and connect the mobile app
- Upload photos and explore maps, albums, and admin tools
That is a very practical progression because it gets you from zero to a working deployment and then immediately into how you actually use it.
Preparing Ubuntu Server 24.04
Before Immich ever starts, the server itself needs to be ready.
In the video, that prep includes installing Docker on Ubuntu Server 24.04. The KeepItTechie script is used as part of that Docker installation workflow. If you are following the same path as the video, the main takeaway is that Docker is not an afterthought here. It is the foundation for the whole deployment.
This is also one of those moments where beginners can save themselves a lot of frustration by slowing down and making sure the host is ready before moving ahead. If Docker is not installed properly, everything that comes after gets messy fast.
Creating the Immich Directory and Deployment Files
Once Docker is in place, the next part of the walkthrough is creating the Immich directory and downloading the Compose file and the .env file.
That is a key step because it suggests a standard containerized deployment layout:
- A dedicated directory for the application
- A Compose definition for the containers
- An environment file for configuration
Even without going beyond what is covered in the video description, this tells you something important about the install style. It is organized. You are not just pasting commands randomly and hoping for the best. You are putting the deployment files in place so the stack can be managed cleanly.
Starting the Immich Containers
After the directory and configuration files are in place, the video moves into starting the Immich containers and doing the first login.
This is the point where the project becomes real. The stack launches, the services come up, and you get access to the Immich interface.
For a lot of people, this is the payoff moment in a self-hosting project. You go from planning and prep to a working app you can actually click through and use.
First Login and Initial Setup
The first login is called out directly in the chapter list, and that matters because Immich is not just something you install and ignore. There is an initial setup flow involved in getting your library going.
The video then moves into an Immich UI tour that includes:
- Setup
- Backups
- Mobile app connection
That sequence makes sense. Once you get in, you want to make sure the platform is configured for real usage, not just for testing.
Connecting the Mobile App
This is one of the biggest reasons people look at Immich in the first place.
A self-hosted photo platform becomes much more useful once your phone can be part of the workflow. The video specifically covers connecting the mobile app, which is a major part of making Immich feel like a true alternative to a mainstream cloud photo service.
If your goal is protecting your memories while keeping the experience practical, mobile app support is not optional. It is central.
Exploring the Library, Uploads, and Features
The second half of the walkthrough shifts from installation into day-to-day usage.
That includes:
- Uploading photos
- Viewing and organizing with albums
- Using maps
- Looking at admin tools
This is a big reason Immich stands out in the homelab space. It is not only about storing media files. It is about actually interacting with them in a modern interface.
The mention of maps and albums in particular tells you this is aiming for a richer photo management experience, not just a file browser with thumbnails.
And the inclusion of admin tools is a reminder that you are the one in control. When you self-host, you are not just the user. You are also the operator.
Why Self-Hosting Photos Hits Different
The video makes a point of comparing self-hosting with Google and iCloud. That framing is important.
When you use a hosted service, you are often buying convenience with a certain amount of dependency. Your library, your access patterns, and your long-term storage habits can become tied to someone else’s platform.
Self-hosting flips that model. You run the service. You decide where it lives. You control the environment. For a lot of us, that is the real motivation. Not just saving files, but building a setup that respects privacy and ownership.
That is why a project like Immich lands so well in the Linux and homelab world. It solves a real personal problem while also letting you learn and sharpen practical infrastructure skills.
A Gotcha to Avoid
One easy mistake to avoid is rushing through the server prep and jumping straight to the app deployment.
Because this setup depends on Docker and Docker Compose on Ubuntu Server 24.04, skipping proper preparation can leave you troubleshooting container issues that are really host setup issues. The walkthrough deliberately handles Ubuntu prep first, then Docker installation, then the Immich directory and deployment files, and only after that starts the containers.
That order matters.
Another mistake is treating the first successful login as the finish line. The flow in the video clearly goes beyond that into library setup, backups, mobile app connection, and actual uploads. If you stop at “it loads in the browser,” you have only done the easy part.
Who This Setup Is For
One thing I like about the way this is framed is that it is not just for one audience.
If you are a Linux beginner, this kind of project gives you a practical reason to learn Ubuntu Server, Docker, and container-based deployment.
If you are already deep into self-hosting, Immich fits naturally into a homelab stack and gives you a polished service you may use daily.
That range is part of the appeal. A good self-hosted project should be useful enough for experienced users and approachable enough for people trying to level up.
Final Thoughts
Immich checks a lot of boxes for people who want to move away from handing their personal media over to big tech. It is self-hosted, modern, and designed to be practical, not just technical.
The setup path covered here keeps things focused: Ubuntu Server 24.04, Docker, Docker Compose, a structured deployment with Compose and .env files, first login, mobile app connection, and then actually using the platform through uploads, albums, maps, backups, and admin tools.
That is the kind of walkthrough I like because it gets you from idea to implementation without losing sight of why you are doing it in the first place.
Take back control of your memories, build something useful, and keep it techie.
~ KeepItTechie

