Immich crashes constantly
Hello there!
I have been getting to work with immich for a couple of days now. When it works it works great! But occasionally immich website stops responding and I need to wait a while and then everything works again. I think the problem could be something with either my compose file, file locations or transcoding.
General Info
Intel NUC8i5BEK
Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
CoffeeLake-U GT3e [Iris Plus Graphics 655]
2x 8GiB SODIMM DDR4
Ubuntu 22.04.1, kernel 6.8.0-57-generic
Storage:
Main drive: Samsung SSD 970 EVO 500GB
QNAP DAS (USB-C): RAID1 2x Seagate IronWolf 4TB
Docker setup
My immich database is stored on my NVMe drive:
My immich library is stored on the RAID1 drive.
I'm seeing that quite some errors pop up when I try to trascode:
Does anyone have a clue what could be causing this ? And should these transcode errors cause these unresponsiveness of the website ?
Thank you.
ps: i purchased server license.
64 Replies
:wave: Hey @Wasbeer,
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.
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:Here are all the server logs.
I've tried myself to see if I can change transoding settings but I think I can only do CPU transcoding since my CPU to old/slow.
I've checked all the permissions but i think there are no permission errors since everything seems to work apart from the slowdown.
What is weird is that if i select 'transcode missing videos' the process s starts, and after I finish If I press the same button again I get the same amount of video's to be transcoded. So there might be a transcode problem there ?
Yeah, you need to uncomment the "extends" in you docker-compose.yml#
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:
ah ....
but then i need to create hwaccel.transcoding.yml ?
You should use all the template files: https://github.com/immich-app/immich/tree/main/docker
I think following the docs it gets you to download them all?
i did follow the docs. but i will do that again then
I could be wrong on that, I'm not sure
https://immich.app/docs/install/docker-compose
the docker compose install instruction does not say anything about uncommenting the transcoding lines or adding those other yml files
I guess not yeah
But that's the fix for the error you're seeing
okat well that indeed helps a lot. but then i need to decide the type of hardware accel i can use
qsv
quicksync
thats quicksync ? i have an 8th gen intel cpu, the docs say i need a 9th gen for that
So it does, my bad
go with vaapi then
thank you, i will look into that lets hope it works
nope still the same errors unfortunatley
@Spacemonkey FYI, you don't need to uncomment the hwaccell service if you don't use those
@Wasbeer How much RAM do you allocate for Immich
I have not set any limitation, so i think thats just my 16GB availible
From the log I don't see any indication of server shutdown
do you have any service to monitor the health of the container?
i use portainer
Can you expand what you mean by website unresponsive? The failed transcode log isn’t related to this
what i mean by that is that i click something, and then just nothing happens
i see a loading bar for a webpage loading, and it gets stuck
Oh sorry, I was misled by the transcode and ffmpeg probe error.
I also have set up my immich under my domain pic.windhoos.dev using cloudflare and nginx proxy manager. maybe that could be it ?
I'm using https
If you encounter the spining logo again, can you try access using local IP?
or try use local IP for a few days to see if it still happens again
the slowdown also happens on my android app but i guess i can connect that to the local version aswell
9th gen refers to the graphics, i.e. you need skylake or later
Your processor should be compatible
ah so i can use quicksync nice
still the same errors.
And ofc i set it up i the files
the ffmpeg is run from within the container right ? Not that i might have an older ffmpeg version on my ubuntu system ?
Yup, FFmpeg is in the container. The transcoding errors seem to be down to corrupt videos. The failures themselves shouldn’t be related to immich crashing or anything though
And is it actually crashing? Or does it just become unresponsive sometimes?
unresponsive
one thing i could think of was that it could be that the docker container runs on my NVME while my lirary is on my usbc qnap RAID1 drive?
but the database is on my NVME drive
I’d guess it’s something to do with your networking setup. Do you put thumbnails on the nvme or the raid1 drive? Putting them on the nvme would be better for speed as well
If the drives spin down, then needing to spin them back up would cause a big slowdown as well
but could that cause a slowdown that long ?
because i'm talking like the website hanging for 30 seconds or so. and when u refresh the website its okay again
Hmm no that’s too long
That sounds more like your network connection is dropping mid load and the refresh causes a new TCP session
Would def try without a proxy as Alex said
ok thanx. ill check the proxy server guide again
Also would use wired instead of wifi
i run my server wired ofcourse 🙂
Additionally, I would recommend you check if this happens in incognito mode.
If you have a lot of extensions in your browser, this can cause this to happen.
the slowdowns also happen in the android app
dont have any relevant extensions. I am running on Brave tough
Ill check it to be sure
When you describe immich feeling stuck, does this happen when there are jobs running in the background?
Well I means the client side, it’s not clear if that was wired?
ah sorry, no client is over wifi yes.
using cloudflare is common practice for immich aswell i assume ?
CF Tunnel?
no just cloudflare
CF domain is fine
don't proxy it
via nginx proxy manager in my case
If you mean DNS only (grey cloud only, not orange) that’s fine
ah i have the orange
Then you are proxied through CF
Which adds all kinds of issues. Mostly that uploads are currently completely broken
On mobile
yeah ive noticed that. but i found that awesome immich nodejs tool
okay different question, i also run a jellyfin server, can i use dns only there aswell ? I now run using my publicIP address, because i thought that streaming media is a breach of their rules
Broadly speaking you should probably read/learn about how DNS works 😛
But yes, If its Grey they can’t see your traffic at all(nor does it go through their servers)
DNS is just given a domain name, here is the listed IP
thats nice to hear
In contrast with the orange cloud they can view all your data in plain
my understanding is that DNS is just a big book that maps my public IP to a readible website name. and if i add proxy it just routes some extra times
The first part yes. But with proxy they decrypt your traffic
okay well then im pulling my sabnzbget off the proxy right now haha
So yes, it routed through their servers and they can read the data while it’s transiting
Interesting, even if I implement my own https using a reverse proxy?
I use Cloudflare's proxy for my authentication domain address (for DDoS blocking and a bunch of other things they offer)
Sure. They terminate SSL on their edge server then establish a new connection to your home proxy
If you think about it they can’t really do many WAF features without decrypting the payload
would you reccoment running jellyfin over cloudflare with dns only or just publicip? i do like the fact that i can use https when using cloudflare
You should use DNS (un proxied) for everything IMO
There’s no legit reason for an IP
i was afraid i would breach cloudflares terms of service when routing my jellyfin traffic it trough them
but thanx @Zeus ive learnt a lot!
With the grey cloud you shouldn’t think of it as routing through them
They are completely oblivious to the traffic , same as using the direct IP
amazing. good to know. then i can finally use http for jellyfin
https*
thanx! i will look into all this great tips, and wonderful community