/immich-power-tools

Power tools for organizing your immich library

Primary LanguageTypeScript

Logo Immich Power Tools

A unofficial immich client to provide better tools to organize and manage your immich account. Building it to speed up your workflows in Immich to organize your people and albums.

Watch Demo Video here

Immich Power Tools

💭 Back story

Recently I've migrated my entire Google photos library to Immich, I was able to successfully migrate all my assets along with its albums to immich. But there were few things like people match that was lacking. I loved Immich UI on the whole but for organizing content I felt its quite restricted and I had to do a lot of things in bulk instead of opening each asset and doing it. Hence I built this tool (continuing to itereate) to make my life and any other Immich user's life easier.

🚀 Getting Started

🐬 Using Docker

You can run the project using docker-compose.yml file.

wget https://raw.githubusercontent.com/varun-raj/immich-power-tools/main/docker-compose.yml
docker compose up -d

If you're running docker inside a network, you can use the power tools in two way

Method 1 - Docker Compose

Add the following into your docker compose as a new service along side other immich services. Make sure you've power-tools in same network as immich.

See the sample docker-compose-all-immich.yml file for reference.

services:
  # Other services...
  
  power-tools:
    container_name: immich_power_tools
    image: ghcr.io/varun-raj/immich-power-tools:latest
    ports:
      - "8001:3000"
    env_file:
      - .env

And the env file will have the following values format

IMMICH_URL=http://192.168.0.200:3001 // This should be the immich url which is accessible in your browser
IMMICH_API_KEY= # your_immich_api_key
DATABASE_URL=postgresql://<POSTGRES-USER>:<POSTGRES-PASSWORD>@<CONTAINER_NAME>:<PORT>/<DATABASE_NAME>

Method 2 - Portainer

If you're using portainer, run the docker using docker run and add the power tools to the same network as immich.

docker run -d --name immich_power_tools -p 8001:3000 --env-file .env ghcr.io/varun-raj/immich-power-tools:latest

🚀 Using Local Setup

Note

Please use bun to run the project. If you don't have bun installed, checkout bun.sh for installation.

Copy paste the .env.example to .env and fill in the values.

IMMICH_URL="" # Immich API URL
IMMICH_API_KEY="" # Immich API Key
DATABASE_URL="" # Postgress Database URL

Refer here for obtaining Immich API Key: https://immich.app/docs/features/command-line-interface#obtain-the-api-key

Run the development server:

bun run dev

Features

Immich Related

  • Manage People
    • Smart Merge
  • Manage Albums
    • Bulk Delete
    • Bulk Edit
    • Filters
  • Statistics
    • EXIF Data
    • Assets Overtime Chart

Tech Related

  • Dark Mode
  • Dockerize
  • Authentication
  • Push to github packages

Tech Stack

Contributing

Feel free to contribute to this project, I'm open to any suggestions and improvements. Please read the CONTRIBUTING.md for more details.