2025-10-21 16:12:16 +08:00
2025-08-06 21:04:36 +02:00
2025-08-06 21:29:21 +02:00
2025-08-06 21:04:36 +02:00
2025-08-06 21:04:36 +02:00
2025-08-07 09:34:33 +02:00
2025-08-06 21:04:36 +02:00
2025-08-07 09:59:11 +02:00
2025-10-21 16:12:16 +08:00

Immich automatic Person -> Album

Automatically add people (faces) to an album and keep that album up-to-date. You can then share that automatic person-album with another user (for example, a shared album of your children).

You can arbitrarily add any face/person to any album. So you could make a "Family" album which contains all your family members and is automatically updated.

You can use API keys from any number of Immich users, so the one Docker container can handle doing automatic albums for all your users.

Setup

Docker-compose configuration

Take a copy of the docker-compose.yml file.

services:
  immich-person-to-album:
    image: alangrainger/immich-person-to-album:latest
    container_name: immich-person-to-album
    restart: always
    volumes:
      - ./data:/data

There are two methods for specifying the config options:

config.json file

  1. In the folder which contains your docker-compose.yml file, create a /data/ folder.
  2. Inside the data folder, put a copy of config.json.
  3. Edit the config.json file as required.

Inline configuration

Alternatively, you can add the configuration inline in your docker-compose.yml file like this:

    volumes:
      - ./data:/data
    environment:
      CONFIG: |
        {
          "immichServer": "http://192.168.0.20:2283",
          "schedule": "*/30 * * * *",
          "users": [
            {
              "apiKey": "XXXXXXXXXX",       # Immich user's API key (read-only access)
              "personLinks": [
                {
                  "description": "Photos of Joe",
                  "personId": "YYYYYYYYYY", # Joe's person ID
                  "albumId": "ZZZZZZZZZZ"   # Shared album ID
                }
              ]
            }
          ]
        }

Create an API key

  1. Open Immich on desktop
  2. Click on your profile picture
  3. Click Account Settings
  4. Go to API Keys
  5. Click New API Key
  6. Give it a name
  7. Add the permissions of asset.read and albumAsset.create
  8. Click Create
  9. Copy the new API key and put it in your config file

Get your person and album IDs

Person IDs:

Album IDs:

Troubleshooting

Make sure you can access your Immich API from inside the immich-person-to-album container. Run this command from outside the container, making sure to replace the address with your Immich server address:

docker exec immich-person-to-album sh -c "wget -qO- http://192.168.0.20:2283/api/server/ping"

It will return {"res":"pong"} if Immich is accessible to the immich-person-to-album container.

Acknowledgements

Thanks to https://github.com/ajb3932/immich-partner-sharing for the idea and for some of the readme text.

The only reason for making this project is that at time of release, the above project hadn't been updated to support Immich 2.x.

S
Description
No description provided
Readme
98 KiB
Languages
TypeScript 94.5%
Dockerfile 5.5%