Skip to content

nsg/immich-distribution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Immich Distribution

Immich Distribution is an independent community project that packages the software in a snap package. This project is not affiliated with the upstream Immich project, its developers, or FUTO. For more information, refer to the documentation site.

  • If you'd like to install Immich directly from the upstream project, use the official Docker images.
  • Please only report bugs upstream if they also occur in the official images.

About

In short, this is an Immich Distribution packaged inside a snap package. The package is inspired by the official Immich images. It will be similar, but not identical with the official Docker-based installation. Extra tools are included; they are non-intrusive and can be ignored if you prefer.

For more information see the project page at https://immich-distribution.nsg.cc

Installation

immich-distribution

sudo snap install immich-distribution

For detailed installation instructions, including hardware requirements, automatic updates, and configuration—see the installation documentation on the project’s website.

Documentation

See the documentation site at immich-distribution.nsg.cc for more information.

Included software

Software Note
Immich Server This is the server component of Immich that provides Immich API, Microservices and the Website
Immich Machine Learning Object detection and image classifier, provides and API for Immich
Immich Distribution Sync Synchronize (read & write) a external folder (with a few caveats) with Immich
Immich Distribution Backup Tool for easy backup and restore of Immich
Postgres Relational database used by Immich
Redis Fast key-value database used by Immich
HAProxy Service that proxies traffic to Immich web and server
lego A Let's Encrypt ACME client used to checkout TLS certificates

CLI Extensions

Immich Distribution extends the upstream Immich CLI with additional commands for automation and administration. These commands are fully non-interactive and suitable for scripting and unattended use.

Generate API Keys

Create API keys for users directly from the command line. The recommended approach is to create API keys through Immich Web under Account SettingsAPI Keys, but if you need a CLI tool for programmatic access, you can use this command:

# Create an API key with all permissions for admin user
sudo immich-distribution.immich-admin create-admin-api-key

# Create an API key for a specific user by email
sudo immich-distribution.immich-admin create-admin-api-key \
  --name "My API Key" \
  --user-email "[email protected]"

# Create an API key with specific permissions (e.g., for sync service)
sudo immich-distribution.immich-admin create-admin-api-key \
  --name "Sync Service Key" \
  --permissions "asset.upload,asset.delete,user.read" \
  --user-email "[email protected]"

# Only create the key if one with the same name doesn't already exist
sudo immich-distribution.immich-admin create-admin-api-key \
  --name "Automation Key" \
  --check

Available options:

  • --name, -n: Set a custom name for the API key (default: "Admin CLI Key")
  • --permissions, -p: Specify permissions as comma-separated list, or "all" for full access (default: "all")
  • --user-email, -e: Create the key for a specific user by email address
  • --user-id, -u: Create the key for a specific user by ID
  • --check, -c: Only create the key if one with the same name doesn't already exist

This command is particularly useful for:

  • Initial setup and configuration automation
  • Creating API keys for the sync service
  • Scripted deployments and CI/CD pipelines
  • Headless server management

License

All files in this repository are released under the MIT license. Upstream Immich was also licensed under the MIT license, but have changed to AGPLv3 after 2024-02-12.

About

Experimental Immich distribution inside a snap

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published