iCloudPD As External Library

I'm kinda struggling to get my imported library via icloudpd connected to Immich... Is this the article to do so? The new path I enter keeps crashing my Docker container (being run in Synology DSM). https://docs.immich.app/guides/external-library I think the problem is I just don't understand the line you add after the {UPLOAD_LOCATION}. I'd say I'm pretty noobish but I'm determined to get this working. Thank you in advance! This is the first chunk of its docker-compose.yml:
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /volume1/homes/MrNicholas/icloudpd_backup:/volume1/homes/MrNicholas/icloudpd_backup
env_file:
- .env
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /volume1/homes/MrNicholas/icloudpd_backup:/volume1/homes/MrNicholas/icloudpd_backup
env_file:
- .env
Here's a relevant snippet from my .env:
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/homes/MrNicholas/immich-backup

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=/volume1/docker/immich-app/postgres
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/homes/MrNicholas/immich-backup

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=/volume1/docker/immich-app/postgres
I've also attached a screenshot of the first run's log.
External Library | Immich
This guide walks you through adding an External Library.
No description
57 Replies
Immich
Immich•7d ago
:wave: Hey @Sips_ real guy best guy, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed.
Sips_ real guy best guy
I was also curious if iCloudPD libraries' folder structure was easily read by Immich? Otherwise, what is the most effective setup?
Immich
Immich•7d ago
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Mraedis
Mraedis•7d ago
The error you are seeing is because either you changed the value of UPLOAD_LOCATION after first startup, or it is not mounted properly
Sips_ real guy best guy
In the yml or the env file? šŸ¤”
Mraedis
Mraedis•7d ago
env file I mean, you can change it in the yml too but people don't usually do that šŸ‘€
Sips_ real guy best guy
Oh what?? But the external library documentation said so (I thought at least) But I’ll try changing the env, just a sec
Mraedis
Mraedis•7d ago
Hang on You're confusing things It's trying to find /volume1/homes/MrNicholas/immich-backup/encoded-video/.immich I'm not talking about /volume1/homes/MrNicholas/icloudpd_backup
Sips_ real guy best guy
Should I change the path to that? What is it pointing to exactly?
Mraedis
Mraedis•7d ago
In the env file you've put UPLOAD_LOCATION=/volume1/homes/MrNicholas/immich-backup Is that the same value that has been with Immich from the start, yes or no?
Sips_ real guy best guy
No, probably not šŸ¤”
Mraedis
Mraedis•7d ago
So you've changed that recently? Because you can't just change it, you have to also move all files
Sips_ real guy best guy
I did, I changed that location so the directory is missing there Since I reset my NAS for new drives
Mraedis
Mraedis•7d ago
So you need to either move/copy the files from the old location OR, delete everything in ./postgres to start over But that last method is quite literally a fresh start
Sips_ real guy best guy
Yeah, I actually set it up last time but didn’t generate any data yet. So it is a fresh start! Any commentary on this as well? Not sure if iCloudPD imports a perfectly workable folder structure for Immich to sort through @Mraedis I’m still stuck with the directories though šŸ˜… so that’s my priority
Mraedis
Mraedis•7d ago
The directory structure doesn't really matter because it indexes all files, unless you explicitly exclude them
Sips_ real guy best guy
Ok, thank you šŸ™‡ ahhh, so I set the yml to this:
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
and the env to this:
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/docker/icpd_nico
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/docker/icpd_nico
Mraedis
Mraedis•7d ago
Yeah you can't do that šŸ‘€ I assume what you were going for was: env
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/docker/icpd_nico
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/docker/icpd_nico
yml
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
But you can't put UPLOAD_LOCATION inside an external library, or vice versa Upload_location is ONLY for internal immich files, you don't put anything in there yourself So what you want is
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
And
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/docker/ANewAndEmptyFolder
DB_DATA_LOCATION=./postgres
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/docker/ANewAndEmptyFolder
DB_DATA_LOCATION=./postgres
Don't forget to delete the postgres folder to start fresh
Sips_ real guy best guy
That’s a little bit confusing šŸ˜µā€šŸ’«
Mraedis
Mraedis•7d ago
It's really not UPLOAD_LOCATION needs to be an empty, new folder for Immich End of explanation Don't put anything in there yourself
Sips_ real guy best guy
Can it be in its docker folder? Or should it be somewhere separate?
Mraedis
Mraedis•7d ago
It should be an empty folder that's definitely not inside an external library, can be anywhere you want
Sips_ real guy best guy
Can I name it ā€œUpload_Locationā€?
Mraedis
Mraedis•7d ago
There's no limit to the name :p As long as the right hand side of the : is either /usr/src/app/upload or /data in your yaml Because that's what the internal path in the container is
Sips_ real guy best guy
The very starting line right? I can still have
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
- /volume1/docker/icpd_nico:/volume1/docker/icpd_nico
as the addition
Mraedis
Mraedis•7d ago
Yes
Sips_ real guy best guy
What does the right hand side mean there?
Mraedis
Mraedis•7d ago
It's what you add in the GUI it can be anything you want as long as it doesn't conflict with the immich folders - /volume1/docker/icpd_nico:/mnt/ext1 would work fine too for instance and then you add /mnt/ext1 in the GUI
Sips_ real guy best guy
Will I need to access it otherwise? Where is /mnt/ext1 located on the drive; is that in the container?
Mraedis
Mraedis•7d ago
No on your host it's just /volume1/docker/icpd_nico
Sips_ real guy best guy
Is it appropriate to make the icloudpd folders external or should I just make it the immich library itself? Since like you said, it can read through it anyway
Mraedis
Mraedis•7d ago
You can't "make it the library" through mounts, that would require uploading with either immich-cli or immich-go
Sips_ real guy best guy
Okay, cool! I'll try running it now. Then I'll add the directories to the GUI Okay, so far so good. šŸ˜®ā€šŸ’Ø
Sips_ real guy best guy
I think I'm still a little stuck here lol
Mraedis
Mraedis•7d ago
That's where the pd is and docker has access to the folder?
Sips_ real guy best guy
The iCloudPD download location? The photo library I mean
Sips_ real guy best guy
These are under the volume1 directory
Mraedis
Mraedis•7d ago
What does the error say exactly?
Sips_ real guy best guy
It says the folder doesn’t exist
Mraedis
Mraedis•7d ago
And you did /volume1/docker/icpd_nico:/volume1/docker/icpd_nico right?
Sips_ real guy best guy
In the YML?
Mraedis
Mraedis•7d ago
yes
Sips_ real guy best guy
I changed it to this
Mraedis
Mraedis•7d ago
then you need to do /mnt/ext1 in the GUI
Sips_ real guy best guy
I tried that too 🄲 Same error thrown
Mraedis
Mraedis•7d ago
That probably means permissions error but I'm not exactly a Synology whizz here
Sips_ real guy best guy
I’ll try and do so wizardry of my own then
Sips_ real guy best guy
Yeah… it says ā€œOne Path Failed Validationā€ https://github.com/immich-app/immich?tab=readme-ov-file I went searching and the answer they gave is "follow the docs" One person said /usr/src worked for them so I did this:
- /volume1/docker/icpd_nico:/usr/src
- /volume1/docker/icpd_nico:/usr/src
It actually seems to work now, hopefully that doesn’t fill that folder with anything it isn’t supposed to NOOOOO it filled my Immich with weird icons
Mraedis
Mraedis•7d ago
I specifically said don't use internal paths Also that comment is nonsense
Sips_ real guy best guy
Sorry, still unsure how to proceed.
Mraedis
Mraedis•6d ago
You should be looking at permission fixes on that icloud folder, as you can see the container has no issue mounting things except for your pd šŸ‘€
Sips_ real guy best guy
Okay, I’ll search further šŸ™‚
Mraedis
Mraedis•6d ago
So to be very clear, don't change anything to your compose unless it's the way you're mounting the volume. Don't change the paths @Sips_ real guy best guy

Did you find this page helpful?