Hi everyone,
I’m pretty new to Linux, self‑hosting and Immich, and I’ve been stuck for half a day trying to get my existing photo collection into Immich. Here’s what I’ve done so far and where I’m stuck.
What I have already:
- On my PC I have a folder hierarchy like this:
Photos/ ├─ 2025/ │ ├─ trip1/ │ ├─ trip2/ │ └─ … ├─ 2024/ │ ├─ trip1/ │ └─ … └─ …
-
Using Samba I copied the whole Photos directory to my Raspberry Pi 5 under my home folder: /home/umbrel/Photos
-
Managed to finally SSH to my Pi5 with UmbrelOS.
(The copy itself worked fine.)
What I want to achieve
a) How can I import the files from /home/umbrel/Photos to Immich via the Immich web surface?
b) Automate the import – I found a community tool called immich-go (https://github.com/simulot/immich-go) that claims to import folders via the Immich API. Has anyone used it? How would I set it up on my Pi with umbrel OS?
Any step‑by‑step guidance for a non‑techie would be hugely appreciated – even just pointing out the right commands or config changes would help a lot.
Thanks in advance! 
Joe
a) There is a button when you log in that allows you to upload multiple images at the same time
b) I have a blog post with a section on migrating with immich-go but I will just paste the section here. Let me know if you have further questions, excited for you to join the immich self-hosting crew.
Takeout for those services typically takes a while, but in order to migrate, you need to get it started (it can take a couple of days, depending on how many photos/videos you have). Google Takeout is here. Apple Takeout is here.
You will need to create an API key, which will grant access to your instance of Immich. KEEP TRACK OF AND PROTECT THE KEY! Once it is created, the app will not show it to you again, and make sure no one else has the key. Go to http://<ip>:2283/user-settings?isOpen=api-keys or https://<domain>/user-settings?isOpen=api-keys on your instance of Immich and click “New API Key”. You can name the key whatever you want (immich-go, for example), select “Select All” checkbox and hit create. Save the API key somewhere safe.
Download the latest version of immich-go on your primary computer from this link. If you are using it on a macOS computer, pick immich-go_Darwin_arm64 or immich-go_Darwin_x86_64. If you are on a Linux computer, pick immich-go_Linux_x86_64. If you are on Windows, pick immich-go_Windows_x86_64.
Unzip the package and open your terminal. You should be able to enter cd Downloads so you can run the immich-go application. With your archives in Downloads, we can upload to Immich.
For example, if you have an iCloud Photos backup, you can run this command:
immich-go upload from-icloud --server=http://<ip>:2283 --api-key=<created api key> "iCloud Photo.zip"
or with domain immich-go upload from-icloud --server=http://domain --api-key=<created api key> "iCloud Photo.zip"
similarily, if you have a Google Photos backup, you can run this command:
immich-go upload from-google-photos --server=http://<ip>:2283 --api-key=<created api key>
or with domain immich-go upload from-google-photos --server=http://<domain> --api-key=<created api key>
Thanks a lot for taking the time to respond. Iam really excited and fascinated by Immich!
I’m currently traveling, so I’ll be able to test everything next week.
Regarding b) – I just want to confirm my understanding: Do I need to install immich‑go on the server itself, or can I run it locally on my Fedora laptop as described?
Regarding a) – I may not have been clear earlier; what I’m looking for is a way to upload the photos i.e. under ‘albums’ in immich while preserving the existing folder structure.
a) GPT says yes-ish
> Immich’s storage templates let you control how files are written to disk based on metadata (date, album, camera, etc.).
1. Import photos
2. Create albums named after your trips (trip1, trip2, etc.)
3. Assign photos to those albums (bulk-select works well)
4. Use this template:Photos/{{y}}/{{album}}/{{filename}}
b) Run it locally on your Fedora laptop!