immich/cli
Jonathan Jogenfors f4c5bdfa1c
fix(cli): don't open too many files (#5841)
* Allow building and installing cli

* feat: add format fix

* docs: remove cli folder

* feat: use immich scoped package

* feat: rewrite cli readme

* docs: add info on running without building

* cleanup

* chore: remove import functionality from cli

* feat: add logout to cli

* docs: add todo for file format from server

* docs: add compilation step to cli

* fix: success message spacing

* feat: can create albums

* fix: add check step to cli

* fix: typos

* feat: pull file formats from server

* chore: use crawl service from server

* chore: fix lint

* docs: add cli documentation

* chore: rename ignore pattern

* chore: add version number to cli

* feat: use sdk

* fix: cleanup

* feat: album name on windows

* chore: remove skipped asset field

* feat: add more info to server-info command

* chore: cleanup

* wip

* chore: remove unneeded packages

* e2e test can start

* git ignore for geocode in cli

* add cli e2e to github actions

* can do e2e tests in the cli

* simplify e2e test

* cleanup

* set matrix strategy in workflow

* run npm ci in server

* choose different working directory

* check out submodules too

* increase test timeout

* set node version

* cli docker e2e tests

* fix cli docker file

* run cli e2e in correct folder

* set docker context

* correct docker build

* remove cli from dockerignore

* chore: fix docs links

* feat: add cli v2 milestone

* fix: set correct cli date

* remove submodule

* chore: add npmignore

* chore(cli): push to npm

* fix: server e2e

* run npm ci in server

* remove state from e2e

* run npm ci in server

* reshuffle docker compose files

* use new e2e composes in makefile

* increase test timeout to 10 minutes

* make github actions run makefile e2e tests

* cleanup github test names

* assert on server version

* chore: split cli e2e tests into one file per command

* chore: set cli release working dir

* chore: add repo url to npmjs

* chore: bump node setup to v4

* chore: normalize the github url

* check e2e code in lint

* fix lint

* test key login flow

* feat: allow configurable config dir

* fix session service tests

* create missing dir

* cleanup

* bump cli version to 2.0.4

* remove form-data

* feat: allow single files as argument

* add version option

* bump dependencies

* fix lint

* wip use axios as upload

* version bump

* cApiTALiZaTiON

* don't touch package lock

* wip: don't use job queues

* don't use make for cli e2e

* fix server e2e

* chore: remove old gha step

* add npm ci to server

* feat: use graceful-fs

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-12-19 09:40:29 -06:00
..
src fix(cli): don't open too many files (#5841) 2023-12-19 09:40:29 -06:00
test test(cli): e2e testing (#5101) 2023-12-18 20:29:26 -06:00
.editorconfig feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
.eslintignore feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
.eslintrc.js fix(server,cli): don't float promises (#4433) 2023-10-13 01:22:40 -04:00
.gitignore test(cli): e2e testing (#5101) 2023-12-18 20:29:26 -06:00
.npmignore test(cli): e2e testing (#5101) 2023-12-18 20:29:26 -06:00
.prettierignore feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
.prettierrc feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
Dockerfile test(cli): e2e testing (#5101) 2023-12-18 20:29:26 -06:00
LICENSE chore(cli): push to npm (#5168) 2023-11-20 14:04:20 +01:00
package-lock.json fix(cli): don't open too many files (#5841) 2023-12-19 09:40:29 -06:00
package.json fix(cli): don't open too many files (#5841) 2023-12-19 09:40:29 -06:00
README.md docs: remove old CLI first (#5163) 2023-11-19 16:41:42 -06:00
testSetup.js feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
tsconfig.build.json feat(cli): add build script and unify tests (#3369) 2023-07-21 13:10:01 -05:00
tsconfig.json test(cli): e2e testing (#5101) 2023-12-18 20:29:26 -06:00

A command-line interface for interfacing with the self-hosted photo manager Immich.

Please see the Immich CLI documentation.

For developers

To run the Immich CLI from source, run the following in the cli folder:

$ npm run build
$ ts-node .

You'll need ts-node, the easiest way to install it is to use npm:

$ npm i -g ts-node

You can also build and install the CLI using

$ npm run build
$ npm install -g .