Files
immich/docs/docs/features/bulk-upload.md
bo0tzz 9987e3bcef docs(cli): Clarify CLI-in-docker instructions (#1395)
* docs(cli): Clarify CLI-in-docker instructions

* docs(cli): Add more example commands

* docs(cli): Add port to example command

* docs(cli): Really fix the server port this time
2023-01-23 12:41:30 -06:00

3.4 KiB

Bulk Upload (Using the CLI)

You can use the CLI to upload an existing gallery to the Immich server

Immich CLI Repository

Requirements

  • Node.js 16 or above
  • Npm

Installation

npm i -g immich

Quick Start

Specify user's credentials, Immich's server address and port, and the directory you would like to upload videos/photos from.

immich upload --key HFEJ38DNSDUEG --server http://192.168.1.216:2283/api -d your/target/directory

Parameters

Parameter Description
--yes / -y Assume yes on all interactive prompts
--delete / -da Delete local assets after upload
--key / -k User's API key
--server / -s Immich's server address
--directory / -d Directory to upload from
--threads / -t Number of threads to use (Default 5)
--album/ -al Create albums for assets based on the parent folder or a given name

Obtain the API Key

The API key can be obtained in the user setting panel on the web interface.

Obtain Api Key

Run via Docker

You can run the CLI inside of a docker container to avoid needing to install anything.

:::caution Running inside Docker Be aware that as this runs inside a container, you need to mount the folder from which you want to import into the container. :::

cd /DIRECTORY/WITH/IMAGES
docker run -it --rm -v $(pwd):/import ghcr.io/immich-app/immich-cli:latest upload --key HFEJ38DNSDUEG --server http://192.168.1.216:2283/api
docker run -it --rm -v /DIRECTORY/WITH/IMAGES:/import ghcr.io/immich-app/immich-cli:latest upload --key HFEJ38DNSDUEG --server http://192.168.1.216:2283/api
alias immich="docker run -it --rm -v $(pwd):/import ghcr.io/immich-app/immich-cli:latest"
immich upload --key HFEJ38DNSDUEG --server http://192.168.1.216:2283/api

:::tip Internal networking If you are running the CLI container on the same machine as your Immich server, you may not be able to reach the external address. In that case, try the following steps:

  1. Find the internal Docker network used by Immich via docker network ls.
  2. Adapt the above command to pass the --network <immich_network> argument to docker run, substituting <immich_network> with the result from step 1.
  3. Use --server http://immich-server:3001/ for the upload command instead of the external address.
docker run --network immich_default -it --rm -v $(pwd):/import ghcr.io/immich-app/immich-cli:latest upload --key HFEJ38DNSDUEG --server http://immich-server:3001/

:::

Run from source

git clone https://github.com/immich-app/CLI
npm install
npm run build
node bin/index.js upload --key HFEJ38DNSDUEG --server http://192.168.1.216:2283/api -d your/target/directory