How To Install Immich on Fedora 44

Install Immich on Fedora 44

If you are tired of paying for cloud photo storage or worried about who has access to your private photos, you are not alone. Many Linux users want a private alternative to Google Photos or iCloud, and that is exactly what Immich offers.

This guide will show you how to Install Immich Fedora 44 using Docker Compose, the official and recommended method for production use. By the end, you will have a working self-hosted photo server running on your own Fedora machine.

We will walk through every command, explain what it does, and more importantly, explain why you need to run it. This is not just a copy-paste tutorial. It is written from a sysadmin’s perspective, so you understand what is happening under the hood at each step.

Whether you are a beginner exploring Linux server tutorial content for the first time, or an intermediate user looking to configure Immich Fedora 44 properly, this article covers everything you need.

What Is Immich and Why Use It on Fedora

Immich is an open source, self-hosted photo and video backup solution. It replicates many features found in commercial cloud photo apps, including automatic backups from your phone, face recognition, and a clean web interface.

Fedora 44 is a strong choice to host Immich because it ships with modern container tooling and a security-focused system design out of the box. Running Immich on Fedora gives you full control over your data while benefiting from a stable, well-supported Linux distribution.

Unlike quick one-line install scripts you might find elsewhere, this tutorial follows the official Docker Compose method. This approach keeps your setup clean, easy to upgrade, and easy to troubleshoot later.

Prerequisites

Before you begin, make sure your setup meets these requirements. Skipping any of these can cause installation errors later.

  • Fedora 44 installed and fully updated, either on bare metal or a virtual machine.
  • Root or sudo access to install packages and manage services.
  • At least 6 GB of RAM and 2 CPU cores for smooth performance.
  • Enough free disk space for your photo library, ideally on a separate partition or drive.
  • A stable internet connection to download Docker images and Immich files.
  • Basic familiarity with the Linux terminal.

Keep these requirements in mind as you move through the setup. Now let’s get into the actual Install Immich Fedora 44 setup process.

Step 1: Update Your Fedora System

The first thing any experienced sysadmin does before installing new software is update the system. This step matters because outdated packages can cause dependency conflicts with Docker later on.

Run the system update

sudo dnf update -y

What this does: it refreshes your package repositories and installs the latest versions of installed packages.

Why it matters: running an update first reduces the risk of package conflicts and ensures you have the latest security patches before installing new services on your server.

Once the update finishes, it is a good idea to reboot if the kernel was updated.

sudo systemctl reboot

This makes sure your system is running on the freshest kernel and libraries before you continue.

Step 2: Install Docker and Docker Compose

Immich relies on Docker Compose to manage multiple containers together, including the app, database, and Redis cache. Fedora provides its own Docker packages through official repositories, so you do not need third-party repos for this step.

Install Docker Engine

Run the following command to install Docker and the container runtime:

sudo dnf install docker-cli containerd -y

What this does: it installs the Docker command line client along with containerd, the underlying container runtime that actually runs your containers.

Why it matters: you need both pieces working together. The client sends commands, and containerd executes them.

Install the Docker Compose Plugin

Next, install the Compose plugin so you can use the docker compose command:

sudo dnf install docker-compose -y

What this does: it adds Compose version 2 support as a Docker plugin, letting you run docker compose instead of the older standalone docker-compose script.

Why it matters: Immich’s official installation instructions specifically use docker compose up -d, and using the wrong version can cause file parsing errors.

Expected output after installation should show a successful transaction summary listing the installed packages without errors.

Step 3: Enable and Verify the Docker Service

Installing Docker is not enough. You need to make sure the service actually starts and stays running.

sudo systemctl enable --now docker

What this does: it enables Docker to start automatically at boot and starts the service immediately.

Why it matters: without this step, Docker will not run after a reboot, which means your Immich containers will not restart either.

Confirm Docker is working correctly with a quick test:

sudo docker run hello-world

If everything is set up correctly, you should see a message confirming that Docker can pull and run images successfully. This small test saves you from debugging bigger problems later.

Step 4: Download the Immich Installation Files

With Docker ready, it is time to prepare the files needed for the How To Install Install Immich Fedora 44 process. Immich provides an official Compose file and environment template that you should always use as your starting point.

Create a dedicated directory first:

mkdir ~/immich-app
cd ~/immich-app

Why it matters: keeping Immich files in their own folder makes future upgrades, backups, and troubleshooting much simpler. You never want configuration files scattered across your home directory.

Now download the official Compose file and environment template:

wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

What this does: the first command downloads the Compose file that defines all Immich services. The second downloads the environment template and saves it directly as .env.

Why it matters: always pull these files from the latest official release. This keeps your setup aligned with the current stable Immich version and avoids using outdated configuration options.

Step 5: Configure Immich Fedora 44 Environment Variables

This is one of the most important steps when you configure Immich Fedora 44 for the first time. The .env file controls where your photos are stored, your database credentials, and your timezone.

Open the file with a text editor:

nano .env

Set the Upload Location

Look for this line:

UPLOAD_LOCATION=./library

Why it matters: this folder stores every photo and video you upload. Point it to a location with plenty of free space, ideally a separate disk or partition, so your system drive does not fill up over time.

Change the Default Database Password

Find this line:

DB_PASSWORD=postgres

Change it to something unique using only letters and numbers.

Why it matters: even though the database is not exposed to the internet, using a weak default password is still bad practice for a production server.

Set Your Timezone

Uncomment and update this line:

TZ=Asia/Jakarta

Why it matters: correct timezone settings keep your photo timestamps accurate, which matters a lot when your library organizes images by date taken.

Save the file and exit the editor once you are done.

Step 6: Start the Immich Containers

Now comes the moment you have been building toward. From inside your ~/immich-app directory, run:

docker compose up -d

What this does: it downloads the required container images and starts all Immich services in the background, including the server, database, and machine learning components.

Why it matters: running with -d keeps the containers running even after you close your terminal, just like a proper background service.

The first startup can take a few minutes since Docker needs to download several images. Check the status with:

docker compose ps

You should see multiple containers listed with a status of “Up” or “healthy.”

Step 7: Access Immich and Create Your Admin Account

Open a web browser and go to:

http://your-server-ip:2283

Why it matters: testing access through the browser confirms that Immich is actually reachable on your network before you move on to more advanced configuration.

You will be prompted to create an administrator account. Fill in your email and a strong password to finish the setup.

Try uploading a test photo right after logging in. This confirms your storage path and permissions are working correctly before you trust the server with your real photo library.

Install Immich Fedora 44

Step 8: Handle SELinux on Fedora Correctly

Fedora ships with SELinux enabled by default, and this can quietly block container file access even when Docker itself runs fine. This is a common headache reported by Fedora users setting up Immich.

Rather than disabling SELinux entirely, which weakens your security posture, check for denied actions first:

sudo ausearch -m avc -ts recent

Why it matters: this command shows you exactly what SELinux blocked, so you can create a targeted fix instead of turning off protection system-wide.

If your upload folder is outside the default Docker context, you may need to relabel it so containers can write to it properly. Always confirm the exact permission issue before changing security policies on a production server.

Step 9: Add HTTPS With a Reverse Proxy

Running Immich directly on port 2283 works fine for local testing, but a reverse proxy is strongly recommended for real use. A reverse proxy like Caddy or nginx handles TLS encryption and gives you a clean domain name instead of an IP address and port.

Why it matters: your reverse proxy must forward specific headers correctly, including Host, X-Real-IP, X-Forwarded-Proto, and X-Forwarded-For. Skipping this step can break login sessions or file uploads.

Also make sure your proxy allows large file uploads, since photo and video files are often much bigger than typical web traffic. This detail is easy to miss and causes failed uploads for large video files.

Troubleshooting Common Immich Fedora 44 Errors

Even a solid Linux server tutorial can run into a few bumps. Here are the most common issues and how to fix them.

Error: “unknown shorthand flag: ‘d’ in -d”
This usually means you are running an old Docker Compose version. Reinstall the Compose plugin using the official Fedora package shown in Step 2.

Error: Containers show “unhealthy” status
Check container logs for details:

docker compose logs

This reveals the exact service causing problems, often related to database connection issues or incorrect environment variables.

Error: Uploads fail or files do not save
This is often a permissions or SELinux problem. Double check that your UPLOAD_LOCATION folder exists and has correct ownership, then review SELinux logs as covered in Step 8.

Error: Cannot access the web interface
Confirm the container is actually running with docker compose ps. If it shows as running but you still cannot connect, check your firewall settings to make sure port 2283 is open.

Error: Health check fails with a start_interval message
This happens on older Docker Engine versions. Comment out the start_interval line in the database section of your docker-compose.yml file to resolve it.

r00t is a Linux Systems Administrator and open-source advocate with over ten years of hands-on experience in server infrastructure, system hardening, and performance tuning. Having worked across distributions such as Debian, Arch, RHEL, and Ubuntu, he brings real-world depth to every article published on this blog. r00t writes to bridge the gap between complex sysadmin concepts and practical, everyday application — whether you are configuring your first server or optimizing a production environment. Based in New York, US, he is a firm believer that knowledge, like open-source software, is best when shared freely.

Related Posts