Question about Directories. Can I use them to split Content according to rules?

Hi, i am running Immich on Unraid. I installed using the Guide from the Docs using Docker Compose. Everything is running and seems to be working fine ๐Ÿ™‚ My Question is about the usage of directories. Given that i have a HUGE library and HATE to use Raid (or unraids user share File system for writes) i would need to split my directories across several disks. For Example: I keep my Images on 2 SSDs, cause that made browsing them a lot faster on my old Gallery Server. But to save money i keep Videos and large, rarely used Files on 3 HDDs. Can the Storage Template be used for that? Or would it be smarter just not to use the build in Upload tool and just go with a external Library, and put things where i want to be manually?
14 Replies
Immich
Immichโ€ข4mo ago
:wave: Hey @Aderalia Myrien DuYanare, 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
Immich
Immichโ€ข4mo ago
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
immich-app immich ยท Discussions
Explore the GitHub Discussions forum for immich-app immich. Discuss code, ask questions & collaborate with the developer community.
GitHub
Issues ยท immich-app/immich
High performance self-hosted photo and video management solution. - Issues ยท immich-app/immich
Immich
Immichโ€ข4mo ago
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
bo0tzz
bo0tzzโ€ข4mo ago
There is no way to do this
HATE to use Raid (or unraids user share File system for writes)
...why?
Aderalia Myrien DuYanare
Aderalia Myrien DuYanareOPโ€ข4mo ago
Raid just isn't worth it for almost any private use case imo you waste a bunch of money on additional drives (going raid 0 is just crazy) block priceless Ports and add overhang and additional Stress on drives all just for better availability Unraids User shares (UnionFS its called i think?) is less taxing, but usually only makes sense if you want to fill a certain share with new Data of roughly the same type. Since i do split images and videos i found addressing the drives themselves and using the user share only for reads to be the path of least resistance ๐Ÿ™‚ It worked great for my old semi static library server, since that was read only anyways but i really wanted to switch to a more modern solution that doesn't force my to write metadata into my files every time they change just so i can use tags and faces Immich has a solid hybrid approach . By using sidecar files instead of embedding changes don't trigger massive Backups ๐Ÿ™‚ Gues i'll be using external libraries then ๐Ÿ™‚
bo0tzz
bo0tzzโ€ข4mo ago
Do you at least have rock solid backups five ways and well tested? ๐Ÿ˜ฌ
Aderalia Myrien DuYanare
Aderalia Myrien DuYanareOPโ€ข4mo ago
I do have a full backup, as in my main Server starts a second Server once a week that then pulls all the Files that have changed since the last backup while doing some basic versioning. Once all is done it shuts down again waiting for next week Genuinely important things are also backup to a remote server at my parents house to create a somewhat propper 321 backup How well optimized is Immich when it comes to scanning a external library for changes? Can i just keep several tens of thousands of Files in a single library or is it smarter to split them to avoid long scans?
bo0tzz
bo0tzzโ€ข4mo ago
A few tens of thousands should be no issue at all
Zeus
Zeusโ€ข4mo ago
This is an interesting request. But in theory, if you use the storage template and divide by, for example, image vs video, you can do whatever you want with the bind mounds as long as the relative path inside the container remains unchanged
Aderalia Myrien DuYanare
Aderalia Myrien DuYanareOPโ€ข4mo ago
I think i will play around with this a bit to see if i can break it ๐Ÿ™‚ Also i found this tutorial to be a bit confusing: https://immich.app/docs/guides/external-library/ Since it uses different paths on the volume mounts vs the library paths
bo0tzz
bo0tzzโ€ข4mo ago
Well yeah, they should be separate
Aderalia Myrien DuYanare
Aderalia Myrien DuYanareOPโ€ข4mo ago
as far as i understand docker mounts like this HOST-PATH:CONTAINER-PATH but then they continue to use the path " /usr/src/app/external" as the external library path, but that isnt mounted in the docker compose file. Is there a step missing? Or is it recommended to mount to that location intstead of /mnt/media/etc...
schuhbacca
schuhbaccaโ€ข4mo ago
I think maybe the screenshots or little compose snippet at the top could use an update to match on that page. You want your upload location and external libraries to be separate paths from each other, not parent / child. It doesn't really matter what you bind the external library container path as, as long as there's no overlap.
Aderalia Myrien DuYanare
Aderalia Myrien DuYanareOPโ€ข4mo ago
I noticed that the Folder view only dosplays things inside the upload folder, so maybe thats why it was chosen

Did you find this page helpful?