The Immich Desktop Client is an open-source application designed to integrate seamlessly with the Immich self-hosted media management platform. This client simplifies the process of uploading and managing media files directly from your desktop to your Immich server.
- Automated Media Upload: Scans specified directories for media files and uploads new or modified files to your Immich server
- Uploads to Album: Automatically creates an album and puts all the images in it
- Local Shelve Storage: Tracks uploaded files using local shelve storage and SHA-1 hashes to avoid duplicate uploads
- Checksum Validation: Ensures data integrity with SHA-1 checksum verification during uploads
- Cross-Platform: should be compatible with Windows, macOS, and Linux (only tested on Windows 11)
Here is a short video demonstrating the use of Immich-Desktop-Client!
- Immich server instance
- API key for your Immich server (accessible from the Immich web interface)
- Install with the Installer executable
- modify the config file in the .immich-desktop-client folder in your home directory
- enjoy
theoretically the python script is cross platform, therefore it should be executable on macOS and Linux
Note
The config file MUST be in the .immich-desktop-client folder in your home directory!
key: Your Immich API key. This is required to authenticate with the Immich server.url: The base URL of your Immich server API endpoint. Ensure the URL ends with/apiand does not have a trailing slash.album: (Optional) The name of the album where media files will be uploaded.
directories: A list of directories the client will monitor for media files. Files in these directories will be automatically uploaded to the Immich server.
Below is an example config.yaml file:
api:
key: apikey12345
url: https://immich.domain.test/api
album: Oida
watchdog:
directories:
- C:\Users\test\Images and Videos\
- C:\Users\test\Screenshots\
- run
pyinstaller -n immich-dsektop-client -F src/main.py - run
resources\installer-script.isswith Inno Setup
- Add support for replacing assets instead of duplicating versions.
- Enable file deletion from the Immich server through the client.
- Put files from different folders in different albums