Immich
Immich est une solution auto-hébergée de gestion de photos et de vidéos qui remplace les services cloud comme Google Photos ou iCloud. Elle propose des fonctions puissantes comme la reconnaissance faciale et la géolocalisation.

Installation
- /
- srv
- docker
- immich
- library
- compose.yaml
- .env
- immich
- docker
- srv
Déployer la stack
Ouvrez Dockge, cliquez sur compose, nommez la stack immich, puis copiez-collez le dernier docker-compose.yml publié ici.
Renseigner vos variables d'environnement
Configurez le fichier .env en copiant la dernière version depuis ici et suivez les commentaires du fichier.
UPLOAD_LOCATION par le chemin de votre dossier partagé.Déployez le conteneur. Vous pouvez vous connecter et suivre les instructions de configuration sur http://ipdevotreserveur:2283.
Terminé !
Exposer Immich avec SWAG
Le principal intérêt de cette installation est de pouvoir accéder à Immich à distance sur tous vos appareils. Nous allons exposer Immich avec SWAG.
Nous partons du principe que vous avez un sous-domaine
immich.mondomaine.fr avec un CNAME pointant vers mondomaine.fr dans votre zone DNS. Par ailleurs, à moins d'utiliser Cloudflare Zero Trust, assurez-vous que le port 443 de votre box est redirigé vers le port 443 de votre serveur via les règles NAT.Ajouter le réseau d'Immich à SWAG
Dans Dockge, ouvrez la stack SWAG et modifiez le fichier compose pour y ajouter le réseau d'Immich :
---
services:
swag:
container_name: # ...
# ...
networks: # Rattache le conteneur au réseau personnalisé
# ...
- immich # Nom du réseau défini dans la stack
networks: # Définit le réseau personnalisé
# ...
immich: # Nom du réseau défini dans la stack
name: immich_default # Nom réel du réseau externe
external: true # Indique qu'il s'agit d'un réseau externe
immich_default. Vous pouvez vérifier la connectivité en visitant le tableau de bord de SWAG sur http://ipdevotreserveur:81.Redémarrez la stack en cliquant sur « deploy » et attendez que SWAG soit complètement initialisé.
Créer le fichier subdomain.conf
Dans les dossiers de SWAG, créez un fichier nommé immich.subdomain.conf.
sudo nano /srv/docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
Puis collez la configuration suivante :
## Version 2023/12/19
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name immich.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
#if ($lan-ip = yes) { set $geo-whitelist yes; }
#if ($geo-whitelist = no) { return 404; }
if ($geo-blacklist = no) { return 404; }
# enable for ldap auth (requires ldap-location.conf in the location block)
#include /config/nginx/ldap-server.conf;
# enable for Authelia (requires authelia-location.conf in the location block)
#include /config/nginx/authelia-server.conf;
# enable for Authentik (requires authentik-location.conf in the location block)
#include /config/nginx/authentik-server.conf;
location / {
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
# enable for ldap auth (requires ldap-server.conf in the server block)
#include /config/nginx/ldap-location.conf;
# enable for Authelia (requires authelia-server.conf in the server block)
#include /config/nginx/authelia-location.conf;
# enable for Authentik (requires authentik-server.conf in the server block)
#include /config/nginx/authentik-location.conf;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app immich_server;
set $upstream_port 3001;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location ~ (/immich)?/api {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app immich_server;
set $upstream_port 3001;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
Appuyez sur Ctrl+O, puis Enter pour enregistrer, et Ctrl+X pour quitter.
Terminé !
Et voilà ! Immich est maintenant accessible depuis internet. N'oubliez pas d'installer les applications iOS / Android pour synchroniser vos appareils.
Protéger Immich avec Pocket ID
Immich gère OIDC nativement, vous pouvez donc exiger une connexion Pocket ID avant de laisser qui que ce soit accéder à vos photos, plutôt qu'avec (ou en plus de) les comptes propres à l'application.
Enregistrer Immich comme client OIDC
Enregistrez un client OIDC dans Pocket ID nommé immich, avec ces trois URL de callback :
https://immich.mondomaine.fr/auth/login
https://immich.mondomaine.fr/user-settings
app.immich:///oauth-callback
La troisième URL est celle qui permet à l'application mobile de se connecter aussi.
Activer OAuth dans Immich
Dans Immich, allez dans Administration > Settings > Authentication Settings > OAuth, activez-le, et renseignez :
| Champ | Valeur |
|---|---|
| Issuer URL | L'URL de découverte OIDC de Pocket ID |
| Client ID | Le client ID copié depuis Pocket ID |
| Client Secret | Le client secret copié depuis Pocket ID |
Terminé !
- Dans Authentik, créez une application et un provider OAuth2/OpenID Connect nommé
immich, avec les trois mêmes redirect URI que ci-dessus (de typeStrict). - Notez les Client ID, Client Secret et Slug du provider.
- Dans les réglages OAuth d'Immich, mettez
https://authentik.mondomaine.fr/application/o/<slug>/comme Issuer URL, puis renseignez le Client ID et le Client Secret.
Automatisation
Automatiser les téléchargements de médias avec la suite Servarr, Radarr, Sonarr, Bazarr, Prowlarr et Seerr, pour les films et les séries.
Nextcloud
Installer Nextcloud pour auto-héberger vos fichiers, photos et agenda, une alternative respectueuse de la vie privée à Google Drive, OneDrive et iCloud.