
Warning
- Still experimental: Google Photos export works in some cases, but stability issues remain.
- Only works in English
Getting Started¶
Immichporter retrieves metadata not available in google takeout, including shared albums, assets, and shared users. You can use this data to update assets in Immich, re-add users to shared albums, and even move assets to their correct owners.
Important
- This tool does not download any images from google photos. It only exports the information into a local database.
- Make sure to manually save all shared pictures in google photos before running a takeout.
Use google takeout to export your google photos assets and immich-go to import the data into immich.
Installation¶
Run it directly with uv (recommended):
or install it:
Using:
Or with pip:
Usage¶
NOTE: You need to import the assets into immich first, before running photos sync to immich.
# Show help
immichporter --help
# login is required the first time, the session is saved
immichporter gphotos login
# add all albums to the database
immichporter gphotos albums
# add all photos for each album to the database
# it can run multiple times and only processes the not fully processed albums again
immichporter gphotos photos
# multiple runs might be needed until everything is correct,
# you can check with if every album is fully processed
immichporter db show-albums --not-finished
# run again
immichporter gphotos photos --not-finished
# edit/update users
immichporter db show-users
immichporter db edit-users # select which users should be added to immich
# see the database with https://sqlitebrowser.org
sqlitebrowser immichporter.db
# !! CAUTION: create a backup of your immich database before running this commands !!
export IMMICH_ENDPOINT=http://localhost:2283
export IMMICH_API_KEY=your_api_key
export IMMICH_INSECURE=1
# this steps are needed to get the immich ids into the 'immichporter.db' sqlite database
# and create non existing users and albums in immich
immichporter immich update-albums
immichporter immich update-users
# delete ablums (optional) if you want to start over
# !! this delete all albums in immich !!
# this is only needed if you have different album names in immich
immichporter immich delete-albums
# sync albums to immich (create albums and users, add assets to albums)
immichporter sync-albums --dry-run
immichporter sync-albums
TODO¶
- get all ablums from gphotos
- get all metadata from photos inside the albums (shared with, timestamp, ...)
- update user information (local DB)
- create or update albums in immich
- create or update users in immich
- add/update assets to albums in immich
- move assets to correct user (needs to be tested)
- improve documentation
- interactive wizard with ui (web or gui ...)
- submit changes to server for an admin to review and update
Development¶
Dependencies¶
Setup¶
To set up the development environment: