#Symlinked directory in external library not scanned

1 messages · Page 1 of 1 (latest)

vapid creek
#

I want to use a symlinked directory within an Immich external library in order for photos and videos within that linked directory to appear normally within the feed for the user who owns this external library (as opposed ot using partner sharing). I understand this will lead to duplicate database entries, separate ML scans, etc. That's an acceptable tradeoff to me to reach the goal of ultimately doing this for more than 1 different user.

Immich is successfully scanning the files within the external library, however, it does not appear to scan the contents within the symlinked directory. Here are the details:

Using Unraid, Immich deployed via docker container.
shared directory that I want to symlink to - /mnt/user/photos/shared
user-specific directory where I want to place a symlink pointed to the above, named "shared" - /mnt/user/photos/slope
command used: ln -s /mnt/user/photos/shared /mnt/user/photos/slope/shared

images attached show what this looks like within the unraid terminal, and also within the immich container. The symlink works as desired when navigating via unraid terminal or smb share from remote windows machine. Within the immich container, if I cd /libraries/slope/shared the response is bash: cd: no such file or directory. What stands out to me in the container's console is the red coloring and there is no trailing / on the link target, as there is when viewing the same via unraid terminal.

kindred gyroBOT
#

:wave: Hey @vapid creek,

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

#

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.

GitHub

Explore the GitHub Discussions forum for immich-app immich. Discuss code, ask questions & collaborate with the developer community.

GitHub

High performance self-hosted photo and video management solution. - Issues · immich-app/immich

kindred gyroBOT
waxen meteor
#

For symlinks to work in docker you need to mount the target inside the container as well

#

I don’t even know if immich will support symlinks even if you get them working. However this is a docker issue currently, not immich

vapid creek
#

I am currently mounting host /mnt/user/photos as /libraries in the docker, so both the symlink target and the location where I'm placing the symlink are within the mounted directory. Does your previous comment mean I should try separately mount the link target itself (/mnt/user/photos/shared) as a separate mount point in the container?

#

another idea that just crossed my mind is creating the symlink inside docker, instead of inside unraid terminal.

waxen meteor
#

A symlink just says, “hey go look in this folder instead”. So the target must be accessible inside docker

#

So yes you’d have to mount the target

vapid creek
#

I guess what I'm confused on there is the target is accessible inside the docker already. This is the docker top level mount point:

#

the symlink target is ./shared, whcih is readable

#

but I'm now realizing the link target's path looks different inside the docker vs. on host unraid. I'll try creating a symlink inside docker to the path, as seen inside docker.

waxen meteor
#

Symlinks in general are very problematic in docker

#

I think you’d be better off adding the same ext library to each user

vapid creek
#

oh shoot, that's an option? that's way better.

#

I assumed a single path can only be assigned to one external library

waxen meteor
#

Nope

vapid creek
#

well dang, PEBKAC strikes again. FWIW, I just tried this and I suspect if I rescan this would have worked, but your solution of just adding the shared external library multiple times is much better so I'm going to remove this link and try that first.

#

trying it now, and will mark this thread resolved shortly assuming either multiple external lib assignments or the above works, but I suspect it will based on this discussion. Thank you again Zues, I appreciate the feedback.