
Immich Share : partager mes photos depuis mon NAS
Retours d’expérience
Je voulais garder les photos de mon téléphone et de celui de ma copine sur un appareil qui nous appartient, plutôt que chez un fournisseur cloud. Mais je voulais retrouver la simplicité d’iCloud Photos ou de Google Photos pour les sauvegarder, les parcourir et les partager avec nos proches.
Pour le partage, l’idée était de donner accès à un album et de permettre à nos proches d’ajouter leurs propres photos, sans leur ouvrir toute notre photothèque.
Le NAS ne suffisait pas
Stocker les fichiers sur un NAS ne règle qu’une partie du besoin. Il faut encore envoyer les photos depuis les téléphones, les retrouver facilement et pouvoir partager un album avec quelqu’un qui n’est pas à la maison.
Immich m’apporte la sauvegarde automatique depuis les téléphones, une vue chronologique et la recherche dans les photos. C’est avec lui que nous gérons la photothèque sur le NAS.
Il restait toutefois une question : comment ouvrir un album à des amis sans ouvrir Immich, le NAS ou le réseau domestique sur Internet ?
Une interface simple pour mes proches
Pour mes proches, le partage se résume à un lien et un mot de passe. Ils ouvrent la galerie dans leur navigateur et téléchargent les photos qui les intéressent. Ils n’ont rien à installer et aucun compte à créer.
L’image en tête d’article montre une galerie de démonstration d’immich-public-proxy. C’est ce composant qui affiche les albums aux visiteurs.
Une fois l’installation configurée, j’ouvre un partage avec cette commande :
immich-share open "Week-end entre amis" --ttl 48h --for "Les amis"
La commande me renvoie le lien, le mot de passe et la date d’expiration. Voici un exemple :
Link : https://photos.example.com/share/<cle-temporaire>
Password : <mot-de-passe-genere-localement>
Expires : <date-d-expiration>
J’envoie le lien par un premier canal et le mot de passe par un second. À l’expiration, le partage est révoqué et la route publique disparaît.
Un VPS chez Infomaniak pour le partage
Pour le serveur public, j’ai choisi Infomaniak, un hébergeur suisse indépendant dont les centres de données sont en Suisse. Ce choix correspond à ma volonté de privilégier une infrastructure souveraine et de moins dépendre des grands fournisseurs américains. La photothèque reste sur le NAS ; le VPS sert à rendre les partages accessibles depuis Internet.
Voici le trajet des photos :
Téléphones
|
v
Immich sur le NAS, photothèque principale
^
| filtre local et tunnel WireGuard sortant
|
VPS Infomaniak, HTTPS et routes temporaires
^
|
Navigateurs des proches, lien et mot de passe
Le NAS établit un tunnel WireGuard vers le VPS. Je n’ai aucun port à ouvrir sur la box à la maison. Côté NAS, un filtre bloque les requêtes par défaut et n’autorise que celles nécessaires au partage. La protection de l’accès à Immich reste donc à la maison.
Quand aucun partage n’est actif, le portail répond comme si rien n’existait. Lorsqu’un album est ouvert, seuls les chemins nécessaires à ce partage deviennent accessibles. Le VPS ne reçoit jamais la clé API Immich.
Recevoir les photos des autres sans ouvrir la photothèque
Pour récupérer les photos de mes proches, j’ai ajouté un dépôt optionnel. Je ne voulais pas qu’un service accessible depuis Internet puisse écrire directement dans Immich.
Ce dépôt utilise un autre tunnel, un autre réseau et une zone de quarantaine distincte :
Navigateur -> invitation d'envoi -> VPS -> tunnel dédié -> quarantaine NAS
Quarantaine -> vérification locale -> import manuel dans Immich
Les fichiers reçus attendent dans cette quarantaine. Leur vérification et leur import dans Immich sont des opérations locales, à lancer séparément. Le service de dépôt n’a accès ni à la photothèque, ni à la clé API Immich, ni au contrôle de Docker.
Ce que le VPS peut encore voir
HTTPS chiffre le trajet entre le navigateur et le VPS, puis WireGuard chiffre celui entre le VPS et le NAS. Mais HTTPS se termine sur le VPS : celui-ci déchiffre les données avant de les transmettre dans le tunnel WireGuard.
Les photos passent donc en clair dans la mémoire du VPS. Les téléchargements groupés produisent aussi des archives ZIP temporaires sur son disque, avec des limites de taille et une suppression automatique. Le fournisseur peut techniquement accéder à ces données tant qu’elles sont présentes. Choisir Infomaniak me permet de choisir à qui j’accorde cette confiance ; cela ne supprime pas cet accès technique.
Une piste serait de déplacer le proxy public sur le NAS. Le chiffrement HTTPS relierait alors directement le navigateur au NAS, sans déchiffrement sur le VPS. Celui-ci ne ferait que relayer le trafic chiffré : il verrait encore les adresses IP, les horaires et les volumes, mais plus le contenu des photos ou les mots de passe.
Les photos resteraient lisibles par Immich sur le NAS. Il s’agirait de protéger leur transport jusqu’à la maison, pas d’un chiffrement des fichiers dont seuls les appareils des utilisateurs possèdent les clés.
Cela demanderait aussi de déplacer le certificat, le filtrage HTTP, les limites de débit et le cache ZIP sur le NAS. Il faudrait sécuriser l’émission des certificats pour empêcher un VPS compromis de se faire passer pour le service de partage. Cette architecture n’est pas encore mise en place.
Avec Immich pour gérer nos photos et Immich Share pour les partager, je me rapproche de l’expérience que je cherchais : une photothèque sur notre propre matériel, facile à parcourir et à partager avec nos proches. L’installation demande davantage de travail qu’iCloud Photos ou Google Photos.
Le code et les instructions d’installation sont disponibles sur GitHub.