Mirror the French docs onto the English structure

This commit is contained in:
Djeex
2026-09-05 16:55:39 +02:00
parent 86f04ed794
commit 1894ac7ead
74 changed files with 6322 additions and 1588 deletions
+92 -48
View File
@@ -3,61 +3,69 @@ title: Immich
description: Installer Immich, une alternative auto-hébergée à Google Photos et iCloud avec reconnaissance faciale, géolocalisation et synchronisation multi-appareils.
---
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Immich
::note
🎯 __Objectifs :__ installer [Immich](https://immich.app/docs/overview/introduction) pour gérer vos photos sur tout vos appareils.
::
[Immich](https://immich.app/docs/overview/introduction) est une solution de gestion de photos et de vidéos que vous pouvez installer directement sur votre serveur. Cette solution remplace les clouds type Google Photo ou iCloud. Elle dispose de nombreuse fonctionnalités comme la reconnaissance de visage ou la géolocalisation.
[Immich](https://immich.app/docs/overview/introduction) 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.
![Picture](/img/serveex/immich.png)
## Installation
Structure des dossiers
```text [Arborescence]
root
└── docker
└── immich
├── library
├── compose.yaml
└── .env
```
::file-tree
---
tree:
/:
- srv:
- docker:
- immich:
- library/
- compose.yaml
- .env
---
::
Ouvrez Dockge, cliquez sur `compose`, appelez la stack `immich` puis copiez collez le contenu du dernier `docker-compose.yml` [publié ici](https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml).
::steps{level="3"}
### Déployer la stack
Ouvrez Dockge, cliquez sur `compose`, nommez la stack `immich`, puis copiez-collez le dernier `docker-compose.yml` [publié ici](https://github.com/immich-app/immich/blob/main/docker/docker-compose.yml).
::warning
__Attention__ : n'ajoutez pas le label de Watchtower à la stack d'Immich. Immich étant une solution en perpetuelle évolution, des mises à jour automatiques risqueraient de casser votre installation.
__Attention__ : n'ajoutez pas le label Watchtower à la stack Immich. Immich évolue rapidement, et les mises à jour automatiques peuvent casser votre installation.
::
Configurer le `.env` en copiant collant le contenu de la dernière version [publiée ici](https://github.com/immich-app/immich/blob/main/docker/example.env) et suivez les commentaires indiqués dans le fichier.
### Renseigner vos variables d'environnement
::note
Configurez le fichier `.env` en copiant la dernière version [depuis ici](https://github.com/immich-app/immich/blob/main/docker/example.env) et suivez les commentaires du fichier.
Si vous avez un NAS ou un disque réseau partagé via [samba](/fr/general/networking/samba) pour stocker vos données, remplacez la valeur de `UPLOAD_LOCATION`{lang=properties} par le chemin d'accès de votre dossier partagé.
::note{to="/general/networking/samba/"}
Si vous utilisez un NAS ou un disque partagé sur le réseau via **Samba** pour stocker vos données, remplacez la valeur de `UPLOAD_LOCATION`{lang=properties} par le chemin de votre dossier partagé.
::
::tip{icon=""}
✨ __Astuce :__ si votre CPU/iGPU/GPU le supporte, Immich permet d'utiliser l'accélération matérielle pour lire les vidéos ou pour la reconnaissance d'images. Ces fonctionnalités peuvent tripler les performances d'Immich. Plus d'infos sur le [Transcoding](https://immich.app/docs/features/hardware-transcoding/) et sur le [Machine learning](https://immich.app/docs/features/ml-hardware-acceleration).
__Astuce :__ si votre CPU/iGPU/GPU le permet, Immich peut utiliser l'accélération matérielle pour la lecture vidéo et la reconnaissance d'images. Cela peut tripler les performances. En savoir plus sur le [transcodage](https://immich.app/docs/features/hardware-transcoding/) et le [machine learning](https://immich.app/docs/features/ml-hardware-acceleration).
::
Déployez le conteneur.
Déployez le conteneur. Vous pouvez vous connecter et suivre les instructions de configuration sur `http://ipdevotreserveur:2283`.
Et voilà, vous pouvez vous connecter et suivre les instructions sur `http://ipduserveur:2283`
### Terminé !
::
## Exposer Immich avec Swag
Tout l'intérêt d'une telle solution, c'est de pouvoir y accéder à distance et sur tout vos appareils. Pour cela, nous allons exposer Immich via Swag.
## 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.
::note
::note{icon=""}
📋 __Au préalable :__
<br/><br/>
Nous partons du principe que vous avez le sous-domaine `immich.mondomaine.fr` avec un `CNAME` qui pointe vers `mondomaine.fr` dans votre [zone DNS](/fr/general/networking/dns). Et que bien sûr, [à moins que vous utilisiez Cloudflare Zero Trust](/fr/serveex/security/cloudflare), le port `443` de votre box pointe bien sur le port `443` de votre serveur via [les règles NAT](/fr/general/networking/nat).
Nous partons du principe que vous avez un sous-domaine `immich.mondomaine.fr` avec un `CNAME` pointant vers `mondomaine.fr` dans votre [zone DNS](/general/networking/dns). Par ailleurs, à moins d'utiliser [Cloudflare Zero Trust](/serveex/security/cloudflare), assurez-vous que le port `443` de votre box est redirigé vers le port `443` de votre serveur via les [règles NAT](/general/networking/nat).
::
Dans Dockge, rendez-vous dans la stack de SWAG et éditez le compose en ajoutant le réseau de immich :
::steps{level="3"}
### 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 :
```yaml [compose.yaml]
---
@@ -65,35 +73,37 @@ services:
swag:
container_name: # ...
# ...
networks: # Relie le conteneur au réseau custom
networks: # Rattache le conteneur au réseau personnalisé
# ...
- immich # Nom du réseau déclaré dans la stack
networks: # Définit le réseau custom
- immich # Nom du réseau défini dans la stack
networks: # Définit le réseau personnalisé
# ...
immich: # Nom du réseau déclaré dans la stack
name: immich_default # Nom véritable du réseau externe
external: true # Précise que c'est un réseau à rechercher en externe
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
```
::note
Ici nous partons du principe que le nom du réseau de immich est `immich_default`. Vous pouvez vérifier que la connexion est opérationnelle en visitant le dashboard de SWAG en tapant http://ipduserveur:81.
Nous partons du principe que le réseau d'Immich s'appelle `immich_default`. Vous pouvez vérifier la connectivité en visitant le tableau de bord de SWAG sur http://ipdevotreserveur:81.
::
Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complètement opérationnel.
Redémarrez la stack en cliquant sur « deploy » et attendez que SWAG soit complètement initialisé.
Dans les dossiers de Swag, créez le fichier `immich.subdomain.conf`.
### Créer le fichier subdomain.conf
::tip{icon=""}
Dans les dossiers de SWAG, créez un fichier nommé `immich.subdomain.conf`.
✨ __Astuce :__ vous pouvez utiliser [File Browser](/fr/serveex/files/file-browser) pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
::tip{icon="" to="/serveex/files/file-browser-quantum"}
✨ __Astuce :__ vous pouvez utiliser **File Browser Quantum** pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal.
::
```bash [Terminal]
sudo nano /docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
sudo nano /srv/docker/swag/config/nginx/proxy-confs/immich.subdomain.conf
```
Collez la configuration ci-dessous :
Puis collez la configuration suivante :
```nginx [immich.subdomain.conf]
## Version 2023/12/19
@@ -141,7 +151,6 @@ server {
set $upstream_port 3001;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location ~ (/immich)?/api {
@@ -151,15 +160,50 @@ server {
set $upstream_port 3001;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
```
Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Ente"}, puis quittez avec :kbd{value="Ctrl+X"}.
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
Et voilà, vous avez exposé Immich ! N'oubliez pas d'installer les applications [iOS](https://apps.apple.com/us/app/immich/id1613945652)/[Android](https://play.google.com/store/apps/details?id=app.alextran.immich) afin de synchroniser vos appareils.
### Terminé !
::
::tip{icon=""}
__Astuce :__ Vous pouvez protéger cette app avec Authentik de façon native en [suivant ces instructions](https://docs.goauthentik.io/integrations/services/immich/).
Et voilà ! Immich est maintenant accessible depuis internet. N'oubliez pas d'installer les applications [iOS](https://apps.apple.com/us/app/immich/id1613945652) / [Android](https://play.google.com/store/apps/details?id=app.alextran.immich) 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.
::steps{level="3"}
### Enregistrer Immich comme client OIDC
[Enregistrez un client OIDC dans Pocket ID](/serveex/security/pocket-id#registering-an-oidc-client) nommé `immich`, avec ces trois URL de callback :
```text
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é !
::
::tip{icon="" to="/serveex/advanced/authentik"}
✨ Vous pouvez utiliser **Authentik** plutôt que Pocket ID :
1. 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 type `Strict`).
2. Notez les __Client ID__, __Client Secret__ et __Slug__ du provider.
3. 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.
::