
What is Immich?
Immich is a self-hosted photo and video backup tool. It is a free and open-source application that is heavily inspired by Google Photos. Immich integrates photo and video storage with a web portal and mobile app. It includes features such as libraries, automatic backup, bulk upload, partner sharing, Type sense search, facial recognition, and reverse geocoding.
How to install Immich on Debian?
Immich runs on docker and since that is the case before you can install Immich you need to install docker and here is how in Debian 12.
Before you can install Docker Engine, you need to uninstall any conflicting packages (You may or may not have these packages installed) :
|
$ for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done |
Now you need to setup the apt repository
|
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources: 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" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update |
After all the steps to add the repository are done, you can now install the latest docker with the following command:
|
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
Now it’s time to install Immich , and for that you are going to use docker compose and for that you need to download some files and edit them.
First start by creating a immich directory and enter it:
|
$ mkdir ./immich-app $ cd ./immich-app |
Download docker-compose.yml and example.env, either by running the following command
|
$ 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 |
If you have a graphics card like Nvidia or 9th Gen Intel CPU for example, you can also download these optional files to improve performance
|
$ wget -O hwaccel.transcoding.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml
$ wget -O hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml |
Before you can execute docker compose you need to edit the .env file and populate UPLOAD_LOCATION and DB_PASSWORD
|
$ vi .env |
|
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
# The location where your uploaded files are stored UPLOAD_LOCATION=/EXAMPLE_LOCATION
# The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release
# Connection secret for postgres. You should change it to a random password DB_PASSWORD=MY_SUPER_SECRET_PASSWORD_FOR_DB
# The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis |
Now you can run docker compose, but make sure you are inside the directory we created earlier
|
$ sudo docker compose up -d |
During this process you will see Immich being installed in docker and after it’s finished you can check the status of the installation
|
$ sudo docker stats |
|
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 4e613baff987 immich_server 0.03% 184.4MiB / 7.678GiB 2.35% 211MB / 44.5MB 136MB / 350MB 12 5d3dde67da6d immich_microservices 0.22% 199.2MiB / 7.678GiB 2.53% 543MB / 1.28GB 281MB / 33.4MB 12 1ed0abeb1e5e immich_machine_learning 0.14% 758.4MiB / 7.678GiB 9.65% 31.3MB / 217kB 1.43GB / 0B 11 d61cd6ce4c4d immich_postgres 0.05% 242.8MiB / 7.678GiB 3.09% 633MB / 407MB 928MB / 3.65GB 23 dddac7ffb294 immich_redis 0.25% 11.93MiB / 7.678GiB 0.15% 654MB / 164MB 20.9MB / 2.03GB 5
|
If something similar to these appears Immich is installed
Post install steps
1 - Register the admin user
The first user to register will be the admin user. The admin user will be able to add other users to the application.
To register for the admin user, access the web application at http://<machine-ip-address>:2283 and click on the Getting Started button.

2 – Create a new user (Optional)
If you have friends or family members who want to use the application as well, you can create additional accounts for them.
In the Administration panel, you can click on the Create user button, and you'll be presented with the following dialog:
You can then set an initial password. If you'd like, you can use an easy password like password, and keep the setting Require user to change password on first login active. This will prompt the user to change their password on first login, to a password that they choose.
3 – Storage template
The admin user can set the template by using the template builder in the Administration -> Settings -> Storage Template. Immich provides a set of variables that you can use in constructing the template, along with additional custom text. If the template produces multiple files with the same filename, they won't be overwritten as a sequence number is appended to the filename.
Default template
Year/Year-Month-Day/Filename.Extension
If you want to change the storage template during the initial setup, first enable the feature.
Then, customize your storage template.

4 – Download the Mobile App
The mobile app can be downloaded from the following places:
5 – Login to the Mobile App
Login to the mobile app with the server endpoint URL at http://<machine-ip-address>:2283

6 – Backup your library
Navigate to the backup screen by clicking on the cloud icon in the top right corner of the screen.
You can select which album(s) you want to back up to the Immich server from the backup screen.
Scroll down to the bottom and press "Start Backup" to start the backup process
For more information, please refer to: Immich and Docker(Debian).