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
: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_01GY0DAKGXDEHE263BCAYEGFJAChecklist
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.
FAQ | Immich
User
GitHub
Issues ยท immich-app/immich
High performance self-hosted photo and video management solution. - Issues ยท immich-app/immich
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
There is no way to do this
HATE to use Raid (or unraids user share File system for writes)...why?
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 ๐
Do you at least have rock solid backups five ways and well tested? ๐ฌ
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?
A few tens of thousands should be no issue at all
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
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
Well yeah, they should be separate
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...
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.
I noticed that the Folder view only dosplays things inside the upload folder, so maybe thats why it was chosen