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/null

Pour 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/null

actualisez la liste des paquets et installez Docker en exécutant les commandes suivantes :

sudo apt update

Ces 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-plugin

On active et lance le service

systemctl enable --now docker.service

installation docker sous Red Hat (CentOS Alma Linux…)

Mise à jour du système

sudo dnf upgrade

Ajout du dépôt docker dans le système

dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

Installation du moteur docker et le plugin compose

sudo  dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin

On active et lance le service

systemctl enable --now docker.service

Lancez les commandes docker sans accès root

groupadd docker
usermod -aG docker $USER

Portainer 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 -d

Accé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
installation 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


Articles similaires

Un commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *