Skip to main content

2.1 - Préparer Linux et Docker

Docker Compose est la méthode recommandée par Immich pour un déploiement Linux standard.

Préparer le serveur

sudo apt update
sudo apt upgrade
sudo apt install ca-certificates curl wget openssl rsync

Installer Docker Engine depuis le dépôt officiel Docker correspondant à la distribution. Vérifier ensuite :

docker --version
docker compose version
docker info

La commande attendue est docker compose avec un espace. L'ancien exécutable docker-compose peut être incompatible avec le fichier officiel actuel.

Créer l'arborescence

sudo mkdir -p /srv/immich/{app,data,postgres}
sudo chown -R "$USER":"$USER" /srv/immich/app

Définir séparément les permissions des données et de PostgreSQL selon les UID réellement utilisés par les conteneurs. Ne pas appliquer chmod 777.

Vérifier le stockage

df -hT /srv/immich
df -i /srv/immich
findmnt /srv/immich

La base PostgreSQL doit rester sur un stockage local fiable. Les partages réseau ne sont pas pris en charge pour DB_DATA_LOCATION dans le déploiement Compose officiel.

Heure et réseau

timedatectl
getent hosts ghcr.io
curl -I https://github.com

Le serveur doit pouvoir télécharger les images depuis GitHub Container Registry et les modèles de machine learning.

Autoriser Docker sans sudo

Option facultative :

sudo usermod -aG docker "$USER"

Fermer puis rouvrir la session. L'appartenance au groupe Docker donne des privilèges proches de root. Elle doit rester limitée aux administrateurs.

Contrôles avant installation

docker run --rm hello-world
docker compose version
free -h
lscpu

Si un GPU NVIDIA sera utilisé :

nvidia-smi
docker run --rm --gpus all nvidia/cuda:12.3.2-base-ubuntu22.04 nvidia-smi

Le second test nécessite le NVIDIA Container Toolkit et une image disponible. Adapter la version CUDA au pilote installé si nécessaire.

Références :

  • https://docs.immich.app/install/docker-compose/
  • https://docs.immich.app/install/requirements/