Using Immich for Family Photos
We have collected thousands of photos over the years, of cats, dogs, kids, flowers… well you get the point. Getting things out of iPhoto/Apple Photos was a treat too (but we have the technology). And they take up a bunch of different hard drives, USB sticks and who knows what. Then there are duplicates all over the place, cause of backups and such.
Enter Immich - a self-hosted photo management app that can run anywhere (using Docker containers - yes!), organize and de-dup photos, facial recognition and more.
Getting Photos out of Apple
Enter osxphotos, a Python-based utility written to interact with Apple Photos ‘libaries’ and allow you to get to your photos.
1
2
3
4
5
# Add the tap
brew tap RhetTbull/osxphotos
# Install osxphotos
brew install osxphotos
then:
1
2
3
4
5
6
7
osxphotos export /iCloudPhotosExport \
> --skip-original-if-edited \
> --touch-file \
> --strip \
> --directory "{folder_album}" \
> --download-missing
...
That should put all the photos in the export location - ready for upload to immich.
Immich CLI
Install the CLI with npm (yes you will need Node installed, but you do already, no?):
1
npm i -g @immich/cli
then:
1
2
3
immich login <url> <key>
immich upload --recursive /iCloudPhotosExport --album
Now this will take a while (mine was over 5 hours), but your files will end up in your Immich instance (make sure you have enough room for all the files - i’m ~50,000 images and ~500GB in space).
There is also an Immich app for the phones, which like Google Photos or Amazon Photos will be able to backup your files to you Immich server (assuming its available via network - try Cloudflare tunnels or VPN options).