An Immich companion app that writes all XMP file meta data back into the images so this data is transportable outside of Immich or present when imported to another instance #21591
thekoos
started this conversation in
Show and tell
Replies: 1 comment
-
We really don't recommend doing this. Immich keeps track of the files' hashes in the database, and if those are changed out from under it several guarantees go out the window. Besides that, the reason we don't change the original files is because there's always a risk of damaging them when doing so. XMP sidecars are a standard format that should be supported by most other software, and where it isn't it's easily merged into the file with exiftool when necessary. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I run multiple instances/accounts on immich to manage a 300K asset family image and video archive. I use immich to collect media from all of the extended family using the Album, Description, Location, Date and Tag features to group, categorize, date and geolocate the images. I then have to move those images to other instances or to other accounts to keep them separated for different parts of the family, or export them so they family can manage them as they wish.
The issue I ran into very quickly is that the metadata created via Immich is stored in XMP files and are not easily transportable across accounts or immich instances. And it is practically impossible to export to other means of image management.
About a day, $0.63 of xAI Grok Code Fast 1 and I present you immich-companion. A very simple and crude docker compose app that reads the XMP file data and writes it back into the image files located in the immich upload file path. I simply give it an account email and an album name and the app will look for XMP files for all assets in the album and update the related image files with the meta data.
What this allows me to do is download the album from the immich web app and all the Description, date, location and tag information is retained so I can import it into another immich account, instance or any other system that reads EXIF data from images. The only downside I suspect is that any images updated in this way will bypass duplication detection, which is not an issue for me as all the photos are categorized and identified so I will see duplicates during that process.
Exported images and albums now contain all that meta data in the image:
It runs as a single docker container, either on or remote from the immich server. Interaction with immich is via postgres and SSH to the library filesystem. Running on linux, have not tried to deploy to windows.
Happy to share code is anyone is interested...
Beta Was this translation helpful? Give feedback.
All reactions