How to Self-Host Immich: An Open-Source Photo And Video Manager

No More Cloud
No More Cloud

Live stream set for 2025-12-12 at 14:00:00 Eastern

Ask questions in the live chat about any programming or lifestyle topic.

This livestream will be on YouTube or you can watch below.


How to Install Immich: An Open-Source Photo Management Solution Using Podman

If you are looking for a self-hosted, open-source solution to manage your photos and videos, Immich might be exactly what you need. Immich is a modern, open-source photo management platform that gives you complete control over your media—without the need to rely on cloud services.

In this tutorial, we will walk through the process of installing Immich on your server using Podman (or podman-compose for easier container management), making sure you can get up and running quickly.

What is Immich?

Immich is an open-source photo management system designed to let you store, organize, and view your photos and videos privately. It is an excellent alternative to services like Google Photos or iCloud, but with the benefit of being self-hosted. That means you control your data and privacy.

Key features:

  • Open Source: Completely free and modifiable.
  • Self-Hosted: Host it on your own server for full data privacy.
  • Multi-format Support: Organize and access a wide range of media files.
  • Syncing: Sync photos across devices without relying on a third-party cloud provider.

How to Install Immich Using Podman or Podman-Compose

While Docker is a popular choice for containerization, Podman is another great option for managing containers without needing a daemon. If you prefer using Podman, here’s how you can install Immich on your system.

Step 1: Install Podman

Before proceeding, you need to have Podman installed on your machine. You can follow the installation instructions for your operating system from the official Podman installation guide.

Step 2: Download the Immich Files

To install Immich, create a new directory where you will store the necessary files for Podman.

mkdir ./immich-app
cd ./immich-app

Then, download the required files for Immich:

  1. docker-compose.yml file: This file is used for container orchestration, and we can use it with podman-compose, which is Podman’s equivalent of Docker Compose.
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
  1. example.env file: The .env file contains environment variables to configure your setup. After downloading the file, rename it to .env:
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Step 3: Modify the .env File

Before starting the containers, open the .env file and customize the environment variables. Here is a quick overview of the most important variables to configure:

  • UPLOAD_LOCATION: Specify where you want to store your uploaded media files.
UPLOAD_LOCATION=./library
  • DB_DATA_LOCATION: Set the directory where the Postgres database files will be stored.
DB_DATA_LOCATION=./postgres
  • TZ (Optional): Uncomment and set the timezone if needed. For example:
TZ=Etc/UTC
  • IMMICH_VERSION: Set the version of Immich you want to run. The latest version is usually fine:
IMMICH_VERSION=v2
  • DB_PASSWORD: Change the default DB_PASSWORD to something secure:
DB_PASSWORD=your_secure_password

After customizing the variables, save the .env file.

Step 4: Start Immich Using Podman-Compose

Now that you’ve configured the environment, you can use podman-compose to start the containers.

  1. Install podman-compose (if you don’t already have it). Follow the official instructions here: Podman Compose Installation Guide.
  2. Once podman-compose is installed, start the containers:
podman-compose up -d

This command will start Immich in detached mode, meaning the containers will run in the background.

Step 5: Verify the Installation

Once the containers are running, you can check if Immich is working by visiting http://localhost:2283 in your web browser. You should see the Immich login page, where you can begin using the platform to manage your photos and videos.

Watch the Full Installation Process

If you prefer a more visual approach, check out the screencast below, where I walk you through the entire installation process:

📱 Screenshots & Screencast

Immich YAML Compose
Command Line Download Immich YAML Compose

Immich Environment File
Command Line Download Immich Environment File

Immich Environment Variables
Gnome Text Editor Displaying Immich Environment Variables

Immich Podman Compose Build
Command Line Installation Of Immich Via Podman Compose Build

Immich Admin Setup
Web Browser Showing Immich Admin Setup Screen

Immich Login
Web Browser Showing Immich Login Screen

Immich Theme Setup
Web Browser Showing Immich Theme Screen

Immich Language Setup
Web Browser Showing Immich Language Screen

Immich Server Privacy Setup
Web Browser Showing Immich Server Privacy Screen

Immich User Privacy Setup
Web Browser Showing Immich User Privacy Screen

Immich User Settings
Web Browser Showing Immich User Settings Screen

Immich Photos
Web Browser Showing Immich Photos Screen

Immich Installation And Setup Screencast

Additional Resources

Here are some useful links if you are interested in expanding your knowledge of programming or need further assistance with Immich:

Conclusion

With Immich, you can take control of your photo management system and host it on your own server, keeping all your data secure and private. By following this guide, you should be able to get Immich up and running with Podman in no time.

Feel free to reach out if you need any help with installation, migration, or programming tutorials!

Recommended Resources:

Disclosure: Some of the links above are referral (affiliate) links. I may earn a commission if you purchase through them - at no extra cost to you.

About Edward

Edward is a software engineer, web developer, and author dedicated to helping people achieve their personal and professional goals through actionable advice and real-world tools.

As the author of impactful books including Learning JavaScript, Learning Python, Learning PHP, Mastering Blender Python API, and fiction The Algorithmic Serpent, Edward writes with a focus on personal growth, entrepreneurship, and practical success strategies. His work is designed to guide, motivate, and empower.

In addition to writing, Edward offers professional "full-stack development," "database design," "1-on-1 tutoring," "consulting sessions,", tailored to help you take the next step. Whether you are launching a business, developing a brand, or leveling up your mindset, Edward will be there to support you.

Edward also offers online courses designed to deepen your learning and accelerate your progress. Explore the programming on languages like JavaScript, Python and PHP to find the perfect fit for your journey.

📚 Explore His Books – Visit the Book Shop to grab your copies today.
💼 Need Support? – Learn more about Services and the ways to benefit from his expertise.
🎓 Ready to Learn? – Check out his Online Courses to turn your ideas into results.

Leave a Reply

Your email address will not be published. Required fields are marked *