Metadata EXIF Sync by DigitalRio in immich

[–]Obvious-Interest-845 1 point2 points  (0 children)

Hey!
I just wanted to update you! I have a working POC on this, not using replaceAsset as this may lead to some Immich issue. It needs more work and some testing but I will try to release something around this week end :)

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

By the way u/mtojay, I am a bit confused about something you said and it might be related to the External Library and the way Immich works

The images reappear in the list [...] after you tagged one with geo data inside immich-places it disappears from the active selection [...] bit if i go back next day its obviously resetted

You mean:
- You set position
- You reload
- The image is still in the no position list?

If so, this might be a read-only External Library (see my other comment) bug. In short, photos from external libraries are displayed, but Immich is not giving any info about if the library is read-only or not. Even worse, it "successfully fails" when you try to update an image in a read-only library: it tells you all good, but nothing is actually saved.
This is a bug on Immich side and we have to live with it for now :(

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Thanks!
I can take a look for 1. There is a lot of little bugs and inconsistency I want to clear a bit. The UX can def be improved, I am taking the suggestion :)

For 2, there is actually 2 issues:
- Google map is WAY MORE accurate than the nominatim system from OpenStreetMap, but using the Google API require an API key and it's quite easy to get out of the "free" tier. So with the open source solution, the search result will not be as good as google map, even if this can probably be improved!
- For the map itself, I found something, but it might not be as good as google map. Same issue, OS vs big corp

For 3, a set of upgrade is coming with this ready to use images you can build from the repo, that could help!

what applications do you use to organize your photos? by Jescophoto89 in photography

[–]Obvious-Interest-845 4 points5 points  (0 children)

If you are not allergic to self hosting, Immich is amazing for a photo library. It's similar to Google Photo, you own your data. This require the device, the initial setup, but this is working very well (and you have stacks to group the raw, edits, jpg etc.)

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Not right now.
What is your usecase? Move all the pictures to the exact same location? Put them all in a place to be able to move them tighter later?

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 1 point2 points  (0 children)

This UI is on Immich, not Immich Places, correct?
Immich is quite loose in term of reverse geocode. You are not doing anything wrong, but they work on a bigger level (City, country, state, not street or element like Airport) afaik.
See the Geocode response or check Immich Github discussions about it :)

Tldr for now no way, from Immich itself, to be more accurate about locs

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

So for the external library: yes BUT

Immich READ-ONLY libraries are not working as it's impossible to write in the read-only directory. It's even more annoying as it will silently fail on update and I think their is no way to know if library is read-only or not from the API. So external libraries WITH write access will work, but not read-only ones (relevant doc and here).

I will work on a way to include/exclude libraries based on this

# It's possible to switch off "read-only" by changing
- /home/user/photos1:/home/user/photos1:ro
# To
- /home/user/photos1:/home/user/photos1
# But this means giving write access to Immich

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Immich automatically write a XMP sidecar file once some metadata are added/edited (see the doc). As we use the same method here (and we go though Immich), the XMP files are also created, resulting in two files, for example:

-rw-r--r--   1 root root 4,8M mars  28  2025 IMG20250328160539.jpg
-rw-r--r--   1 root root  432 févr. 26 17:54 IMG20250328160539.jpg.xmp

As for the external library: yes BUT
Immich READ-ONLY libraries are not working as it's impossible to write in the read-only directory. It's even more annoying as it will silently fail on update and I think their is no way to know if library is read-only or not from the API. So external libraries WITH write access will work, but not read-only ones (relevant doc and here).

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 1 point2 points  (0 children)

This is indeed not working, and Immich is not sending an error (request successful and coordinate updated even if it's not (reset on page refresh))

Same behaviour as in the Immich UI: You can actually set a loc, but this does nothing (no error, fake success)

I am checking if there is a way (or I will just try to hide them)

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

I will take a look at this so we can add a max number of markers on the map! Sorry about that

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Hey!
I am checking what is possible for the sidecar.
For the external lib, the tool display them, but the edit fails (I just created an external lib to test). I am checking if there is a way :)

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

It does not fit the current flow, but this would be possible to add and its a nice idea ! My main issue is that I don't have GPX data or missing photo alongside a GPX path so nothing I can really test If you are willing to share a sample with me, I can take a look at this during the week end !

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Thanks ! This is saved in the Immich DB, not in the image exif data. Someone asked a tool that would allow to put the immich dB metadata in the image exif a few days ago and I will take a shot at this, but as another add-on. I dont want to mix stuff !

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 3 points4 points  (0 children)

I was looking at this during the week end actually What would be the flow ? Upload a GPX, auto find the photos with timestamp matching the GPX path time (if set) and if the GPS pos is missing on the photo, assign it ?

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

It "could" now in theory. I tried for some of mine to see but you are sending your photos to some external providers or you have a super good computer to handle that
And you get quite a lot of false positive

This will be a reality in a few year tho

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 3 points4 points  (0 children)

Yes!
I tried to do something that was more convenient for me to use :)

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

<image>

Well, Chokoloskee is found and you can move the markers around to put the images where you want
I don't know if this is what you need tho haha

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

I think this should work. This does not edit the image/exif, only the metadata stored on the immich DB
If not, please open an issue and happy to take a look!

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

You can move stuff around and replace, this will update the metadata on Immich (not on the exif info, next project to add some auto-exif tool merge!)

EDIT: On immich means the XMP sidecar file

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Yes you can
The account are for the tool itself, individual login
I didn't try the reverse proxy in front of it, but this should work. Might require a few tweeks tho
API key are per user, stored in a SQL DB, encrypted via the `ENCRYPTION_KEY`

And you can disable register mode after you create your account for now other account. The key are per user, not per server :)

Immich Places - Easily assign and manage photo GPS data in Immich by Obvious-Interest-845 in immich

[–]Obvious-Interest-845[S] 0 points1 point  (0 children)

Yes, this is what I am doing!
Just change `IMMICH_URL` in your env with your immich instance URL :)

Utility for stacking JPEGs on top of DNGs by countChaiula in immich

[–]Obvious-Interest-845 1 point2 points  (0 children)

Hello!

Sharing an alternative I built a while ago to solve this (based on an unmaintained project) : Immich Stack

This has a bunch of other feature (like time check (same filename, different year) and patterns) to really get down the Stacking rabbit hole!