SSD Nodes Learn Hosting plans →
Guides Matt ConnorPar Matt Connor

Alternatives à Immich auto-hébergées : que choisir ?

Immich manque de RAM sur votre VPS, ignore vos dossiers ou ne chiffre pas de bout en bout ? Voici l'alternative qui règle chaque limite, et ce qu'elle vous fait perdre.

Faut-il vraiment chercher une alternative à Immich ?

Les alternatives à Immich auto-hébergées qui valent le détour sont Ente, PhotoPrism, Nextcloud Memories et les galeries comme Piwigo, chacune pour une limite précise d'Immich. Pour la plupart des gens, pourtant, Immich reste le bon choix par défaut pour remplacer Google Photos sur un serveur à soi. Il fait la sauvegarde automatique depuis le téléphone, la recherche par le contenu des images, la reconnaissance des visages et la carte. Si vous cherchez ailleurs, c'est souvent parce que vous avez touché une de ses vraies limites. Ce guide en retient quatre. Pour chacune, il nomme le logiciel qui la règle et ce que ce logiciel vous retire.

Voici les quatre limites. Le conteneur d'apprentissage automatique (ML, machine learning) manque de mémoire sur un petit VPS (serveur privé virtuel). Les mises à jour peuvent casser des choses, et aucun retour en arrière n'est prévu. Les fichiers sont rangés selon la logique d'Immich, pas selon vos dossiers. Enfin, Immich ne propose pas de chiffrement de bout en bout (E2EE, end-to-end encryption). Si vous n'avez pas encore installé Immich, commencez plutôt par installer Immich comme alternative à Google Photos. Les faits datés ci-dessous ont été relevés sur les sites officiels le 13 octobre 2026.

Limite 1 : le machine learning d'Immich sature un petit VPS

La documentation d'Immich fixe le minimum à 6 Go de RAM (8 Go recommandés) et à 2 cœurs de processeur (4 recommandés). Elle ajoute qu'avec seulement 4 Go de RAM, Immich peut tourner avec les fonctions de machine learning désactivées. Sur un VPS de 4 Go, garder le ML actif revient donc à sortir du cadre que le projet supporte. Quand la mémoire manque, le noyau Linux tue un processus pour en libérer. C'est le mécanisme OOM (out of memory).

Vous pouvez vérifier si le conteneur ML a été tué de cette façon :

docker inspect immich_machine_learning | grep OOMKilled
sudo journalctl -k | grep -i "out of memory"

La valeur "OOMKilled": true confirme que Docker a vu le noyau tuer le conteneur. Dans le journal du noyau, une ligne Out of memory: Killed process donne le nom du processus visé. Si les deux commandes ne montrent rien, le problème vient d'ailleurs.

Un autre piège touche les vieux processeurs. Depuis la v3, le conteneur ML sur amd64 exige le niveau de microarchitecture x86-64-v2. La dernière version compatible x86-64-v1 est la v2.7.5, qui n'est plus supportée. lscpu affiche le modèle de processeur que votre hébergeur vous expose. Vérifiez-le avant d'accuser la mémoire.

L'alternative qui règle ce problème : rester sur Immich, mais déplacer le ML. Immich sait envoyer ses calculs à un conteneur ML sur une autre machine, par exemple un PC fixe chez vous. On copie docker-compose.yml sur la machine distante, on lance docker compose up -d, puis on ajoute son adresse dans les réglages Machine Learning de l'administration. Ajoutez l'URL distante à côté de l'URL locale, sans la remplacer. Ainsi, quand la machine distante est éteinte, les tâches reviennent au conteneur local. Si vous remplacez l'URL locale, la recherche intelligente (Smart Search) et la détection des visages échouent tant que la machine distante ne répond pas. La documentation ajoute deux précautions. Gardez la même version d'Immich sur les deux machines. Et sachez que les aperçus d'images partent vers le conteneur distant, qui n'a aucune sécurité intégrée. Faites passer ce trafic par un réseau privé, jamais par un port ouvert sur Internet.

Un réglage par défaut mérite d'être connu : MACHINE_LEARNING_MODEL_TTL vaut 300, ce qui veut dire qu'un modèle inactif est retiré de la mémoire après 300 secondes. Le détail de la mémoire par service se trouve dans les besoins réels d'Immich en RAM et en stockage.

Si vous voulez quitter Immich pour cette raison, Ente est le plus léger sur le papier : son guide d'auto-hébergement demande au moins 1 Go de RAM et 1 cœur. PhotoPrism demande au moins 2 cœurs, 3 Go de mémoire physique et au moins 4 Go de swap, et sa documentation déconseille les limites de mémoire strictes pendant l'indexation. Ces deux projets sont présentés plus bas, pour d'autres raisons.

Limite 2 : des mises à jour sans retour en arrière

La page de mise à jour d'Immich est claire : revenir à une version antérieure n'est pas supporté, même à l'intérieur d'une même version mineure. Le projet ne rétroporte pas de correctifs sur les anciennes versions. Il vous demande de lire les notes de version avant chaque mise à jour et de sauvegarder la base de données d'abord. Une mise à jour ratée se répare donc avec une sauvegarde, pas avec un ancien tag.

Aucun concurrent ne supprime ce risque. Chacun a le sien. Voici ce que montrent les fichiers officiels de chaque projet :

  • Immich publie un docker-compose.yml par version, et ses images suivent la variable IMMICH_VERSION. C'est le plus facile à figer sur une version précise.
  • Le fichier compose officiel de PhotoPrism utilise photoprism/photoprism:latest. Vous devez remplacer latest par un tag daté, après avoir vérifié sur Docker Hub qu'il existe.
  • Le script de démarrage rapide d'Ente utilise ghcr.io/ente/server et ghcr.io/ente/web sans tag, donc Docker tire latest. Seul Postgres est fixé, en version 15. Je n'ai trouvé aucune version serveur publiée sur laquelle s'aligner : les dernières étiquettes du dépôt concernent les applications (par exemple photos-v1.3.65, publiée le 6 octobre 2026).
  • Le fichier docker-compose.minimal.yaml de Lychee, même téléchargé depuis l'étiquette v7.11.0, référence ghcr.io/lycheeorg/lychee:latest. Télécharger le fichier depuis une version ne suffit donc pas à figer l'image.

La section « Quand rester sur Immich » plus bas montre comment figer Immich et préparer une sauvegarde avant chaque mise à jour.

Limite 3 : Immich ne range pas vos fichiers dans vos dossiers

Par défaut, le modèle de stockage (Storage Template) d'Immich est désactivé. La FAQ indique qu'Immich enregistre alors les fichiers sous un nom en chaîne aléatoire. Activer le modèle range les fichiers par date, avec Year/Year-Month-Day/Filename.Extension par défaut. Une modification du modèle ne s'applique qu'aux nouveaux fichiers. Pour les anciens, il faut lancer la tâche de migration du stockage depuis la page des tâches. L'emplacement exact de ces fichiers sur le disque est expliqué dans où Immich stocke les photos avec Docker.

Si vous avez déjà une arborescence soignée, par exemple Photos/2019/Vacances Bretagne, Immich propose une réponse : les bibliothèques externes (External Libraries). Immich lit alors vos dossiers sans modifier les originaux, et une vue Dossiers optionnelle permet de parcourir la hiérarchie. Cela a un coût. Les métadonnées ajoutées dans Immich ne sont pas écrites dans le fichier. Si vous déplacez un fichier dans la bibliothèque, Immich perd ses métadonnées au scan suivant. Monter le dossier en lecture seule (:ro) empêche les suppressions depuis l'interface et l'écriture des fichiers XMP. Les scans tournent chaque nuit par défaut.

L'alternative : PhotoPrism. Sa FAQ recommande à la plupart des utilisateurs qui ont déjà une photothèque d'indexer directement leur dossier originals, sans importer les fichiers. Vos dossiers restent la référence, et PhotoPrism n'écrit en général pas dans les originaux (sa FAQ liste les exceptions). En échange, il demande au moins 2 cœurs, 3 Go de mémoire et 4 Go de swap. La comparaison point par point est déjà faite dans PhotoPrism contre Immich : quel serveur photo choisir. Lisez-la avant de migrer.

Limite 4 : pas de chiffrement de bout en bout

Immich ne chiffre pas vos photos de bout en bout. Les mainteneurs ont fermé la demande de fonctionnalité sur GitHub comme « non prévue ». En septembre 2023, un mainteneur a expliqué que le chiffrement de bout en bout est fondamentalement incompatible avec le fonctionnement d'Immich. La raison est simple : la recherche par contenu et la reconnaissance des visages ont besoin de lire les images sur le serveur.

L'alternative : Ente. Ente présente Ente Photos comme une alternative chiffrée de bout en bout à Google Photos et Apple Photos, et son serveur s'auto-héberge. Le guide officiel demande Docker et Docker Compose, au moins 1 Go de RAM et 1 cœur. La page des prérequis exige le plugin Docker Compose en version 2.30 ou plus, et précise que l'ancienne commande docker-compose n'est plus supportée. L'installation tient en une ligne, copiée du guide officiel :

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ente/ente/main/server/quickstart.sh)"

Le script crée un dossier my-ente dans le répertoire courant et télécharge les images. Il propose ensuite de démarrer les conteneurs. L'application Photos répond alors sur le port 3000, les albums publics sur le port 3002 et Ente Auth sur le port 3003. Le code de vérification de votre premier compte apparaît dans les journaux : sudo docker compose logs. Le premier utilisateur créé devient administrateur.

Faut-il un stockage objet compatible S3 (le protocole de stockage d'Amazon, repris par beaucoup d'hébergeurs) ? Oui, mais le script en fournit un. Il lance dans la pile un stockage objet compatible MinIO (image pgsty/silo) sur le port 3200, à côté de postgres:15. Pour utiliser un fournisseur S3 externe, la documentation de configuration demande de passer s3.are_local_buckets à false et de saisir vos identifiants. La réplication est désactivée par défaut et un seul bucket est utilisé. L'activer demande trois buckets.

Ce que vous perdez avec Ente :

  • Selon Ente lui-même, le démarrage rapide sert à commencer, pas à la production. Le projet conseille de comprendre chaque composant et d'envisager un S3 et une base de données externes.
  • Sans le fichier museum.yaml, Ente ne peut plus accéder aux données qu'il stocke. Sauvegardez-le hors du serveur.
  • docker compose down --volumes supprime définitivement vos photos, car elles vivent dans les volumes Docker de la pile.
  • Les images ne sont pas figées sur une version, comme vu plus haut.

Pour connecter l'application mobile à votre serveur, touchez sept fois l'écran d'accueil, puis saisissez l'adresse de votre serveur. Je n'ai trouvé aucune information officielle sur les quotas de stockage d'une instance auto-hébergée. Vérifiez ce point dans la documentation d'Ente avant de migrer toute une famille.

Vous utilisez déjà Nextcloud : Memories

Memories est une application Nextcloud de gestion de photos. Elle n'a pas son propre client de sauvegarde : son README renvoie aux applications mobiles officielles de Nextcloud pour l'envoi automatique depuis le téléphone. Si ces applications sont déjà installées chez vous, vous n'ajoutez rien sur les téléphones.

La version 10.0.0 est sortie le 12 octobre 2026. Ses notes de version contiennent deux avertissements. La prochaine version de l'application Android ne fonctionnera pas avec les anciennes versions de Memories. Et les installations Docker qui utilisent le transcodage vidéo doivent ajouter des liens vers le conteneur go-vod. Sur la boutique d'applications Nextcloud, Memories 10.0.0 est listée pour Nextcloud 34 et 35. La page d'installation de Memories donne une version minimale de Nextcloud plus ancienne, qui ne correspond pas à la boutique. Fiez-vous donc à la page de Memories sur apps.nextcloud.com pour votre version de Nextcloud. Memories a aussi besoin d'Imagick, de ffmpeg et ffprobe, et d'un cache mémoire distribué comme Redis.

Ce que vous perdez : tout repose sur Nextcloud. Si Nextcloud est lent ou cassé après une mise à jour, vos photos le sont aussi.

Piwigo et Lychee : des galeries, pas des sauvegardes de téléphone

Piwigo et Lychee servent à publier et à partager des albums. Ils ne remplacent pas la sauvegarde automatique de votre téléphone.

Piwigo se décrit comme un logiciel libre de gestion de ressources numériques et de photothèque. Il a des applications pour iOS et Android. La documentation de l'application iOS décrit un import manuel de photos dans des albums, et cet import exige un compte administrateur. Je n'ai trouvé dans la documentation ni envoi automatique ni synchronisation en arrière-plan. L'application iOS, Piwigo-Mobile, est maintenue : la v4.4.2 date du 27 septembre 2026. Pour Android, la documentation renvoie à Piwigo NG, dont je n'ai pas pu confirmer la date de dernière version. Vérifiez sur le Play Store.

Lychee ne mentionne aucune application mobile dans sa documentation. On envoie les photos par l'interface web. Pour un import automatique depuis un dossier du serveur, la FAQ propose la commande lychee:sync, à planifier avec cron ou un minuteur systemd. La dernière version, v7.11.0, date du 12 octobre 2026. Au premier accès, Lychee vous demande de créer le compte administrateur.

Ces deux outils ont leur place à côté d'Immich, pas à sa place. Un usage courant : Immich garde tout, et vous publiez une sélection dans une galerie Piwigo ou Lychee pour la famille.

LibrePhotos est-il encore maintenu ?

Oui, d'après ce que j'ai vérifié sur GitHub le 13 octobre 2026. Les trois derniers commits du dépôt datent de ce jour-là. La dernière version est la 1.3.0, publiée le 11 octobre 2026. Avant elle sont sorties la 1.2.1 et la 1.2.0 le 29 septembre 2026, et la 1.0.0 le 26 juin 2026. Le README indique 4 Go de RAM minimum et recommande fortement 8 Go ou plus, car les fonctions de ML consomment beaucoup de mémoire. Il demande 2 cœurs au minimum (4 ou plus recommandés).

La documentation propose une image unifiée, uniquement CPU, reallibrephotos/librephotos-unified. Ses exemples utilisent le tag latest avec des commandes docker run, sans fichier compose. Avant de l'installer, vérifiez sur Docker Hub qu'un tag 1.3.0 existe et utilisez-le. La documentation mentionne une application Android. Je n'ai pas trouvé d'application iOS. Sur un petit VPS, LibrePhotos ne règle donc pas le problème de mémoire d'Immich.

Quelle alternative selon votre situation ?

  • Petit VPS (4 Go de RAM ou moins) : gardez Immich et déplacez le ML sur une autre machine, ou lancez Immich sans ML comme le prévoit sa documentation. Ente demande le moins de ressources si vous voulez changer.
  • Archive de dossiers existante : PhotoPrism indexe vos dossiers sur place. Les bibliothèques externes d'Immich sont une option si vous acceptez que les métadonnées restent dans la base.
  • Vie privée d'abord : Ente, qui se présente comme une alternative chiffrée de bout en bout. Prévoyez la sauvegarde de museum.yaml et du stockage objet.
  • Partage avec la famille : Immich pour la sauvegarde, plus Piwigo ou Lychee pour publier des albums choisis.
  • Déjà sur Nextcloud : Memories, avec les applications mobiles Nextcloud pour l'envoi automatique.

Quand rester sur Immich, et combien coûte le stockage

Restez sur Immich si votre seule limite est la mémoire du VPS ou la peur des mises à jour. Les deux se gèrent. Pour les mises à jour, figez une version précise au lieu du tag v3 que propose le fichier .env par défaut. Au 13 octobre 2026, la dernière version est la v3.3.1, publiée le 8 octobre 2026 :

mkdir -p ~/immich-app && cd ~/immich-app
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/download/v3.3.1/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/download/v3.3.1/example.env
sed -i 's/^IMMICH_VERSION=.*/IMMICH_VERSION=v3.3.1/' .env
grep IMMICH_VERSION .env
docker compose up -d

grep doit afficher IMMICH_VERSION=v3.3.1. Si la ligne affiche encore v3, Docker tirera la dernière v3 à chaque docker compose pull. Avant chaque montée de version, lisez les notes de version, puis sauvegardez la base et les fichiers. La base ne contient que les métadonnées et les comptes. Les fichiers eux-mêmes sont dans UPLOAD_LOCATION, que vous devez sauvegarder vous-même, en particulier les dossiers library, upload et profile. La méthode complète est dans la sauvegarde et la restauration d'Immich.

Cette sauvegarde doit partir hors du VPS. Prenons le stockage objet de Scaleway à Paris, utile si vous voulez garder vos données en France (voir aussi choisir un VPS pour des utilisateurs en France). Le 13 octobre 2026, la page tarifaire affichait ces prix hors taxes :

  • Standard Multi-AZ : 0,01606 € par Go et par mois, soit environ 8,03 € par mois pour 500 Go et 16,06 € par mois pour 1 000 Go.
  • Standard One Zone : 0,00803 € par Go et par mois, soit environ 4,02 € par mois pour 500 Go et 8,03 € par mois pour 1 000 Go.
  • Sortie de données : 75 Go gratuits par mois, puis 0,01 € par Go.
  • Glacier : 0,00254 € par Go et par mois, pour des copies que vous ne relisez presque jamais.

Une photothèque familiale atteint vite plusieurs centaines de Go, surtout avec des vidéos. Mesurez la vôtre avec du -sh sur UPLOAD_LOCATION plutôt que de deviner. Surveillez aussi la sortie de données. Une restauration complète de 1 000 Go dépasse largement les 75 Go gratuits, ce qui coûterait environ 9,25 € au tarif affiché. Si vous préférez un espace de type disque, les Storage Box de Hetzner existent en 1, 5, 10 et 20 To avec trafic illimité. Les prix en euros ne s'affichaient pas quand j'ai consulté la page, vérifiez-les vous-même.

FAQ

Quelle est la meilleure alternative à Immich pour un petit VPS ?

Souvent, c'est encore Immich. Sa documentation demande 6 Go de RAM au minimum, mais prévoit un fonctionnement sans machine learning avec 4 Go. Vous pouvez aussi envoyer le ML vers une autre machine en ajoutant son URL dans les réglages, à côté de l'URL locale. Si vous voulez changer de logiciel, le guide d'auto-hébergement d'Ente demande au moins 1 Go de RAM et 1 cœur.

Ente auto-hébergé a-t-il besoin d'un stockage S3 ?

Oui, Ente stocke les photos dans un stockage objet compatible S3. Le script de démarrage rapide en lance un dans la pile Docker, sur le port 3200, donc vous n'avez pas besoin d'un fournisseur externe pour commencer. Pour la production, Ente conseille d'envisager un S3 externe, que l'on active en passant s3.are_local_buckets à false.

Immich peut-il utiliser mes dossiers photo existants ?

Oui, avec une bibliothèque externe. Immich lit vos dossiers sans modifier les originaux. Les métadonnées ajoutées dans Immich restent dans sa base et ne sont pas écrites dans les fichiers, et un fichier déplacé perd ses métadonnées Immich au scan suivant. PhotoPrism, qui indexe le dossier d'originaux sur place, convient mieux si vos dossiers doivent rester la seule référence.

Peut-on revenir à une version précédente d'Immich après une mise à jour ?

Non. La documentation d'Immich indique que revenir à une version antérieure n'est pas supporté, même dans la même version mineure. Sauvegardez la base de données et le dossier UPLOAD_LOCATION avant chaque mise à jour, et figez une version précise dans IMMICH_VERSION au lieu du tag v3.

Piwigo ou Lychee peuvent-ils sauvegarder automatiquement mon téléphone ?

Non, d'après leur documentation. L'application iOS de Piwigo décrit un import manuel qui exige un compte administrateur. Lychee ne mentionne aucune application mobile et reçoit les photos par l'interface web ou par la commande lychee:sync planifiée. Ce sont des galeries pour partager des albums, à utiliser en plus d'une vraie sauvegarde comme Immich.

#immich#photoprism#ente#photo-management#auto-hébergement#google-photos-alternative