Crates.io | immich-tools |
lib.rs | immich-tools |
version | 0.2.0 |
source | src |
created_at | 2024-10-28 05:35:13.335286 |
updated_at | 2024-11-05 05:06:03.426632 |
description | Small command-line utilities to work with an Immich server |
homepage | |
repository | https://git.enoent.fr/kernald/immich-tools |
max_upload_size | |
id | 1425261 |
size | 775,031 |
immich-tools
is a small command-line utility interacting with an Immich server. It offers the following features:
Some other features are planned, mainly around using external libraries. Feature ideas and contributions welcome.
Different options need to be passed to this tool, mainly:
server_url
: the API endpoint of the Immich instance to work onapi_key
: the API key to useThese can be passed through different mechanisms:
immich-tools --server-url https://photos.example.com/api --api-key api-key-goes-here server version
IMMICH_TOOLS_
, e.g. IMMICH_TOOLS_SERVER_URL=https://photos.example.com/api IMMICH_TOOLS_API_KEY=api-key-goes-here immich-tools server version
_FILE
, e.g. IMMICHTOOLS_SERVER_URL_FILE=~/immich-url.txt IMMICH_TOOLS_API_KEY_FILE=~/immich-api-key.txt immich-tools server version
. This is mostly useful for secrets.~/.config/immichtools/config.toml
, on macOS, ~/Library/Application Support/fr.enoent.Immich-Tools/config.toml
, and on Windows ~\AppData\Roaming\enoent\Immich Tools\config\config.toml
). Note that keys in this file can also be suffixed with _file
and point to a file containing the value, instead of the value directly.Command line arguments take precedence over environment variables, which in turn take precedence over the configuration file.
server_url = "https://photos.example.com/api"
api_key_file = "/home/example/.config/immichtools/apikey"
[people.sync_date_of_births]
vcard = "/home/example/contacts.vcf"
The bindings are generated automatically from src/immich-openapi-specs.json
. The file currently in the repo has been generated with Immich v1.119.1, with a few methods removed around file upload (Progenitor doesn't yet support multipart/form-data
content types, see here). All other methods should be available.