CLI utilities to help with some operations with the Immich app
- Upload assets (videos/images) from a directory to IMMICH server
- heif
- heic
- jpeg
- png
- jpg
- gif
- heic
- heif
- dng
- x-adobe-dng
- webp
- tiff
- nef
- mp4
- quicktime
- x-msvideo
- 3gpp
1 - Install from NPM repository
npm i -g immich
2 - Run
Specify user's credential, Immich's server address and port and the directory you would like to upload videos/photos from.
immich upload --email [email protected] --password password --server http://192.168.1.216:2283/api -d your/target/directory
Parameter | Description |
---|---|
--yes / -y | Assume yes on all interactive prompts |
--delete / -da | Delete local assets after upload |
--email / -e | User's email |
--password / -pw | User's password |
--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 |
Be aware that as this runs inside a container, it mounts your current directory as a volume and for the -d flag you need to use the path inside the container.
docker run -it --rm -v "$(pwd)":/import ghcr.io/immich-app/immich-cli:latest upload --email [email protected] --password password --server http://192.168.1.216:2283/api -d /import
Optionally, you can create an alias:
alias immich="docker run -it --rm -v '$(pwd)':/import ghcr.io/immich-app/immich-cli:latest"
immich upload --email [email protected] --password password --server http://192.168.1.216:2283/api -d /import
1 - Clone Repository
git clone https://github.com/alextran1502/immich-cli
2 - Install dependencies
npm install
3 - Run
npm run build
4 - Run
node bin/index.js upload --email [email protected] --password password --server http://192.168.1.216:2283/api -d your/target/directory