Vous cherchez une alternative autohébergée à Google Photos ou iCloud pour stocker et organiser vos souvenirs numériques ? Découvrez Immich, une solution moderne, open source pour gérer vos photos et vidéos. Dans cet article, nous allons vous montrer comment installer Immich avec Docker en utilisant l’interface Dockge, étape par étape.
Qu’est-ce qu’Immich ?
Immich est une application open source qui permet de centraliser, d’organiser, de sauvegarder et de visualiser ses photos et vidéos sur son propre serveur. Elle offre des fonctionnalités avancées telles que :
- Synchronisation automatique depuis un smartphone
- Reconnaissance automatique des visages, objets et lieux (grâce à l’IA)
- Recherche intelligente
- Partage d’albums
- Interface moderne (Web + Mobile)
- Traitement local sans passer par le cloud externe
Compatible avec Docker, Immich est idéale pour les passionnés de la vie privée et les amateurs de technologies.
Installation de Docker sous Debian (Ubuntu, Linux Mint…)
Docker est une solution open-source qui facilite le déploiement et la gestion d’applications dans des conteneurs. Avec Docker, vous pouvez isoler vos applications et leurs dépendances, ce qui rend le déploiement plus rapide et plus efficace. Dans ce guide, nous vous montrerons comment installer Docker sur deux des distributions Linux les plus populaires : Debian et Red Hat.
Ouvrez un terminal et exécutez les commandes suivantes pour mettre à jour la liste des paquets disponibles et installer les mises à jour existantes
sudo apt update && sudo apt upgrade
Avant d’installer Docker, assurez-vous d’avoir installé les dépendances nécessaires en exécutant la commande suivante :
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Pour garantir l’authenticité des packages Docker téléchargés, ajoutez la clé GPG officielle en exécutant la commande suivante : (Debian)
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" |tee /etc/apt/sources.list.d/docker.list > /dev/nullPour garantir l’authenticité des packages Docker téléchargés, ajoutez la clé GPG officielle en exécutant la commande suivante : (Ubuntu)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullactualisez la liste des paquets et installez Docker en exécutant les commandes suivantes :
sudo apt updateCes commandes installeront Docker Engine (le moteur Docker), Docker CLI (l’interface en ligne de commande de Docker) et containerd.io (le conteneur d’exécution). Une fois ces composants installés, vous pouvez utiliser Docker sur votre système
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginOn active et lance le service
systemctl enable --now docker.serviceinstallation docker sous Red Hat (CentOS Alma Linux…)
Mise à jour du système
sudo dnf upgradeAjout du dépôt docker dans le système
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoInstallation du moteur docker et le plugin compose
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-pluginOn active et lance le service
systemctl enable --now docker.serviceLancez les commandes docker sans accès root
groupadd docker
usermod -aG docker $USERPortainer est une interface graphique open-source et légère qui permet de gérer facilement les environnements Docker. Son rôle principal est de fournir une interface conviviale pour la gestion des conteneurs, des images, des volumes et des réseaux Docker, ainsi que pour la surveillance des ressources système.
Lire aussi:Gérer vos conteneurs Docker avec Portainer
Installation de Dockge (Interface web de gestion des conteneurs docker)
# Créez des répertoires pour stocker stacks
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
# Télécharger le fichier compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
# Création du conteneur
docker compose up -dAccéder à Dockge via http://localhost:5001
Comment installer Immich ?
Créez un fichier compose.yml avec ce contenu
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
#- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:2283
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: --data-checksums
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
# DB_STORAGE_TYPE: 'HDD'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
restart: always
volumes:
model-cache: null
networks: {}
Créez un fichier .env avec ce contenu
UPLOAD_LOCATION=/opt/stacks/immich/library
# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=/opt/stacks/immich/postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# 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
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
La stack va déployer 4 conteneurs docker: immich-server, immich-machine-learning, redis et database. Pour accéder à Immich, via adresse IP des votre machine suivi du port d’écoute http://[IP-de-votre-serveur]:2283


Merci pour la solution pour notre sécurité