3.6 KiB
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.
💭 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
bunto run the project. If you don't havebuninstalled, 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
- Next.js for infrastructure
- Tailwind CSS for styling
- Shadcn for UI Components
- Axios for API calls
Contributing
Feel free to contribute to this project, I'm open to any suggestions and improvements. Please read the CONTRIBUTING.md for more details.
