Le CLI d'Immich
Immich dispose d'une interface en ligne de commande (CLI) qui vous permet d'effectuer certaines actions depuis la ligne de commande.
Fonctionnalités
- Importer des photos et des vidéos dans Immich
- Vérifier la version du serveur
D'autres fonctionnalités sont prévues pour l'avenir.
Si vous souhaitez importer vos données exportées de Google Photos, nous recommandons cet outil maintenu par la communauté immich-go
Prérequis
- Node.js 20 ou supérieur
- Npm
Si vous ne pouvez pas installer node/npm, une version Docker est également disponible ci-dessous.
Installation (NPM)
npm i -g @immich/cli
REMARQUE : si vous avez précédemment installé l'ancien CLI, vous devrez d'abord le désinstaller :
npm uninstall -g immich
Installation (Docker)
Si npm n'est pas disponible sur votre système, vous pouvez essayer la version Docker
docker run -it -v "$(pwd)":/import:ro -e IMMICH_INSTANCE_URL=https://votre-instance-immich/api -e IMMICH_API_KEY=votre-cle-api ghcr.io/immich-app/immich-cli:latest
Veuillez modifier les variables d'environnement IMMICH_INSTANCE_URL
et IMMICH_API_KEY
selon vos besoins. Vous pouvez également utiliser un fichier d'environnement Docker pour stocker votre clé API sensible.
Cette commande docker run
exécutera directement la commande immich
à l'intérieur du conteneur. Vous pouvez directement ajouter les paramètres souhaités (voir sous "usage") à la ligne de commande comme ceci :
docker run -it -v "$(pwd)":/import:ro -e IMMICH_INSTANCE_URL=https://votre-instance-immich/api -e IMMICH_API_KEY=votre-cle-api ghcr.io/immich-app/immich-cli:latest upload -a -c 5 --recursive répertoire/
Utilisation
Utilisation
$ immich
Usage: immich [options] [command]
Interface en ligne de commande pour Immich
Options :
-V, --version affiche la version
-d, --config-directory <directory> Répertoire de configuration où auth.yml sera stocké (par défaut : "~/.config/immich/", env :
IMMICH_CONFIG_DIR)
-u, --url [url] URL du serveur Immich (env : IMMICH_INSTANCE_URL)
-k, --key [key] Clé API Immich (env : IMMICH_API_KEY)
-h, --help affiche l'aide pour la commande
Commandes :
login|login-key <url> <key> Connexion avec une clé API
logout Supprimer les identifiants enregistrés
server-info Afficher les informations du serveur
upload [options] [paths...] Télécharger des fichiers
help [command] affiche l'aide pour la commande
Commandes
La commande d'importation prend en charge les options suivantes :
Options
Usage: immich upload [paths...] [options]
Télécharger des fichiers
Arguments :
paths Un ou plusieurs chemins vers des fichiers à importer
Options :
-r, --recursive Récursif (par défaut : false, env : IMMICH_RECURSIVE)
-i, --ignore <pattern> Motif à ignorer (env : IMMICH_IGNORE_PATHS)
-h, --skip-hash Ne pas hacher les fichiers avant l'importation (par défaut : false, env : IMMICH_SKIP_HASH)
-H, --include-hidden Inclure les dossiers cachés (par défaut : false, env : IMMICH_INCLUDE_HIDDEN)
-a, --album Créer automatiquement des albums basés sur le nom des dossiers (par défaut : false, env : IMMICH_AUTO_CREATE_ALBUM)
-A, --album-name <name> Ajouter tous les fichiers à l'album spécifié (env : IMMICH_ALBUM_NAME)
-n, --dry-run Ne pas effectuer d'action, afficher uniquement ce qui sera fait (par défaut : false, env : IMMICH_DRY_RUN)
-c, --concurrency <number> Nombre de fichiers à importer en même temps (par défaut : 4, env : IMMICH_UPLOAD_CONCURRENCY)
-j, --json-output Afficher des informations détaillées au format JSON (par défaut : false, env : IMMICH_JSON_OUTPUT)
--delete Supprimer les fichiers locaux après importation (env : IMMICH_DELETE_ASSETS)
--no-progress Masquer les barres de progression (env : IMMICH_PROGRESS_BAR)
--watch Surveiller les changements et importer automatiquement (par défaut : false, env : IMMICH_WATCH_CHANGES)
--help affiche l'aide pour la commande
Notez que les options ci-dessus peuvent également être lues à partir des variables d'environnement.
Guide rapide
Commencez par vous authentifier à votre serveur Immich. Par exemple :
# immich login [url] [key]
immich login http://192.168.1.216:2283/api HFEJ38DNSDUEG
Cela enregistrera vos identifiants dans un fichier auth.yml
dans le répertoire de configuration qui, par défaut, est ~/.config/immich/
. Le répertoire peut être défini avec l'option -d
ou la variable d'environnement IMMICH_CONFIG_DIR
. Veuillez garder ce fichier en sécurité, soit en effectuant la commande de déconnexion après utilisation, soit en le supprimant manuellement.
Une fois authentifié, vous pouvez importer des fichiers vers votre serveur Immich.
immich upload fichier1.jpg fichier2.jpg
Par défaut, les sous-dossiers ne sont pas inclus. Pour importer un dossier incluant ses sous-dossiers, utilisez l'option --recursive
:
immich upload --recursive répertoire/
Si vous n'êtes pas sûr de ce qui va se passer, vous pouvez utiliser l'option --dry-run
pour voir ce qui se ferait sans effectuer réellement d'actions.
immich upload --dry-run --recursive répertoire/
Par défaut, la commande d'importation hachera les fichiers avant de les importer. Cela permet d'éviter d'importer plusieurs fois le même fichier. Si vous êtes certain que les fichiers sont uniques, vous pouvez ignorer cette étape en passant l'option --skip-hash
. Notez qu'Immich effectue toujours sa propre déduplication via le hachage, donc cela est simplement une considération de performance. Si vous disposez d'une bonne bande passante, il pourrait être plus rapide d'ignorer le hachage.
immich upload --skip-hash --recursive répertoire/
Vous pouvez créer automatiquement des albums basés sur le nom des dossiers en utilisant l'option --album
. Cela créera automatiquement des albums pour chaque élément téléchargé basé sur le nom du dossier dans lequel il se trouve.
immich upload --album --recursive répertoire/
Vous pouvez également choisir de télécharger tous les fichiers dans un album spécifique avec l'option --album-name
.
immich upload --album-name "Mes vacances d'été" --recursive répertoire/
Il est possible d'ignorer les fichiers correspondant à un motif glob en passant l'option --ignore
. Consultez la documentation des bibliothèques pour savoir comment utiliser les motifs glob. Vous pouvez ajouter plusieurs modèles d'exclusion si nécessaire.
immich upload --ignore **/Brut/** --recursive répertoire/
immich upload --ignore **/Brut/** **/*.tif --recursive répertoire/
Par défaut, les fichiers masqués sont ignorés. Si vous souhaitez inclure les fichiers masqués, utilisez l'option --include-hidden
:
immich upload --include-hidden --recursive répertoire/
Vous pouvez utiliser l'option --json-output
pour obtenir un affichage JSON qui inclut
trois clés : newFiles
, duplicates
et newAssets
. En raison de certaines sorties de journalisation,
vous devrez supprimer les trois premières lignes de sortie pour obtenir le JSON.
Par exemple, pour obtenir une liste des fichiers qui seraient importés pour un traitement ultérieur :
immich upload --dry-run . | tail -n +4 | jq .newFiles[]
Obtenir la clé API
Vous pouvez obtenir la clé API dans le panneau des paramètres utilisateur sur l'interface Web.