How to Install Immich on Debian 12 Using Docker

Immich is a high-performance, self-hosted photo and video backup solution designed as a privacy-focused alternative to Google Photos. It offers fast uploads, AI-powered search, face recognition, and a modern web interface.

This guide explains how to install Immich on Debian 12 using Docker and Docker Compose.

Prerequisites

  • Debian 12 (Bookworm) VPS or Dedicated Server
  • Root access or sudo privileges
  • Minimum 4 GB RAM recommended
  • Open port 2283/tcp

Step 1: Update the System

Update and upgrade all system packages.

apt update && apt upgrade -y

Step 2: Install Required Packages

Install required packages for Docker.

apt install -y ca-certificates curl gnupg

Create the Docker keyrings directory.

install -m 0755 -d /etc/apt/keyrings

Add Docker’s official GPG key.

curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

Step 3: Add Docker Repository

Add the official Docker repository for Debian.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

Update the package index.

apt update

Step 4: Install Docker and Docker Compose Plugin

Install Docker Engine and Docker Compose plugin.

apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verify installation.

docker --version
docker compose version

Example output:

Docker version 26.x.x, build xxxx
Docker Compose version v2.x.x

Step 5: Create Immich Directory

Create a directory for Immich.

mkdir ~/immich
cd ~/immich

Step 6: Download Immich Docker Files

Download the latest Immich Docker 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

Step 7: Configure Immich Environment

Edit the environment file.

nano .env

Update the following values.

UPLOAD_LOCATION=/root/immich/uploads
DB_DATA_LOCATION=/root/immich/db
IMMICH_SERVER_PORT=2283
DB_PASSWORD=StrongPassword123

Replace "StrongPassword123" with ypur actual/strong password

Create the required directories.

mkdir -p /root/immich/uploads
mkdir -p /root/immich/db

Save and exit the editor.

Step 8: Start Immich Containers

Start Immich services in detached mode.

docker compose up -d

Check running containers.

docker ps

You should see Immich server, machine learning, Redis, and PostgreSQL containers running.

Step 9: Access Immich Web Interface

Open your browser and visit:

http://Your-server-IPaddress:2283

images

You should now see the Immich setup page. Create the admin account to complete installation.

Step 10: Enable Auto-Start on Reboot (Optional)

Edit the root crontab.

crontab -e

Add the following line.

@reboot cd /root/immich && docker compose up -d

Save and exit.

Updating Immich

To update Immich to the latest version.

cd ~/immich
docker compose pull
docker compose up -d

Notes

  • Use a reverse proxy (Nginx, Caddy, or Traefik) with HTTPS for production environments
  • Ensure sufficient RAM for AI features and background jobs
  • Regularly back up the uploads and database directories

Conclusion

You have successfully installed Immich on Debian 12 using Docker.

Access Immich at:

http://2.58.14.2:2283

Enjoy your self-hosted photo and video backup solution


CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME for 10% off!

1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month

Available Locations: LAX | MIA | ATL | FRA | AMS