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:
~/Docker/immich$ ls -al
total 20
drwxr-xr-x 3 planet planet 4096 apr 19 23:04 .
drwxr-xr-x 13 root root 4096 apr 9 01:33 ..
drwx------ 21 systemd-coredump root 4096 apr 19 11:44 database
-rw-rw-r-- 1 planet planet 3294 apr 15 15:06 docker-compose.yml
-rw-r--r-- 1 planet planet 993 apr 9 01:10 .env
~/Docker/immich$ ls -al
total 20
drwxr-xr-x 3 planet planet 4096 apr 19 23:04 .
drwxr-xr-x 13 root root 4096 apr 9 01:33 ..
drwx------ 21 systemd-coredump root 4096 apr 19 11:44 database
-rw-rw-r-- 1 planet planet 3294 apr 15 15:06 docker-compose.yml
-rw-r--r-- 1 planet planet 993 apr 9 01:10 .env
My immich library is stored on the RAID1 drive.
~/externalRAID/Immich$ ls -l
total 24
drwxr-xr-x 2 root root 4096 apr 19 02:00 backups
drwxr-xr-x 3 root root 4096 apr 15 20:31 encoded-video
drwxr-xr-x 3 root root 4096 apr 15 20:29 library
drwxr-xr-x 2 root root 4096 apr 15 15:08 profile
drwxr-xr-x 3 root root 4096 apr 15 20:29 thumbs
drwxr-xr-x 3 root root 4096 apr 15 20:29 upload
~/externalRAID/Immich$ ls -l
total 24
drwxr-xr-x 2 root root 4096 apr 19 02:00 backups
drwxr-xr-x 3 root root 4096 apr 15 20:31 encoded-video
drwxr-xr-x 3 root root 4096 apr 15 20:29 library
drwxr-xr-x 2 root root 4096 apr 15 15:08 profile
drwxr-xr-x 3 root root 4096 apr 15 20:29 thumbs
drwxr-xr-x 3 root root 4096 apr 15 20:29 upload
I'm seeing that quite some errors pop up when I try to trascode:
[Nest] 7 - 04/19/2025, 10:56:17 PM ERROR [Microservices:{"id":"f2b5c3ab-1d45-4283-bb04-10b69164b247"}] Unable to run job handler (videoConversion/video-conversion): Error: ffprobe exited with code 1
ffprobe version 7.0.2-Jellyfin Copyright (c) 2007-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
[Nest] 7 - 04/19/2025, 10:56:17 PM ERROR [Microservices:{"id":"f2b5c3ab-1d45-4283-bb04-10b69164b247"}] Unable to run job handler (videoConversion/video-conversion): Error: ffprobe exited with code 1
ffprobe version 7.0.2-Jellyfin Copyright (c) 2007-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
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
Immich
Immich2w ago
: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:
Wasbeer
WasbeerOP2w ago
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 ?
Spacemonkey
Spacemonkey2w ago
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:
Wasbeer
WasbeerOP2w ago
ah .... but then i need to create hwaccel.transcoding.yml ?
Spacemonkey
Spacemonkey2w ago
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?
Wasbeer
WasbeerOP2w ago
i did follow the docs. but i will do that again then
Spacemonkey
Spacemonkey2w ago
I could be wrong on that, I'm not sure
Wasbeer
WasbeerOP2w ago
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
Spacemonkey
Spacemonkey2w ago
I guess not yeah But that's the fix for the error you're seeing
Wasbeer
WasbeerOP2w ago
okat well that indeed helps a lot. but then i need to decide the type of hardware accel i can use
Spacemonkey
Spacemonkey2w ago
qsv quicksync
Wasbeer
WasbeerOP2w ago
thats quicksync ? i have an 8th gen intel cpu, the docs say i need a 9th gen for that
Spacemonkey
Spacemonkey2w ago
So it does, my bad go with vaapi then
Wasbeer
WasbeerOP2w ago
thank you, i will look into that lets hope it works nope still the same errors unfortunatley
Alex Tran
Alex Tran2w ago
@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
Wasbeer
WasbeerOP2w ago
I have not set any limitation, so i think thats just my 16GB availible
Alex Tran
Alex Tran2w ago
From the log I don't see any indication of server shutdown do you have any service to monitor the health of the container?
Wasbeer
WasbeerOP2w ago
i use portainer
Zeus
Zeus2w ago
Can you expand what you mean by website unresponsive? The failed transcode log isn’t related to this
Wasbeer
WasbeerOP2w ago
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
Spacemonkey
Spacemonkey2w ago
Oh sorry, I was misled by the transcode and ffmpeg probe error.
Wasbeer
WasbeerOP2w ago
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
Alex Tran
Alex Tran2w ago
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
Wasbeer
WasbeerOP2w ago
the slowdown also happens on my android app but i guess i can connect that to the local version aswell
sogan
sogan2w ago
9th gen refers to the graphics, i.e. you need skylake or later Your processor should be compatible
Wasbeer
WasbeerOP2w ago
ah so i can use quicksync nice still the same errors.
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
extends:
file: hwaccel.transcoding.yml
service: quicksync # 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
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
extends:
file: hwaccel.transcoding.yml
service: quicksync # 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
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
Wasbeer
WasbeerOP2w ago
And ofc i set it up i the files
Wasbeer
WasbeerOP2w ago
the ffmpeg is run from within the container right ? Not that i might have an older ffmpeg version on my ubuntu system ?
ffmpeg -version
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
ffmpeg -version
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
sogan
sogan2w ago
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?
Wasbeer
WasbeerOP2w ago
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
sogan
sogan2w ago
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
Wasbeer
WasbeerOP2w ago
~/externalRAID/Immich$ ls -l
total 24
drwxr-xr-x 2 root root 4096 apr 19 02:00 backups
drwxr-xr-x 3 root root 4096 apr 15 20:31 encoded-video
drwxr-xr-x 3 root root 4096 apr 15 20:29 library
drwxr-xr-x 2 root root 4096 apr 15 15:08 profile
drwxr-xr-x 3 root root 4096 apr 15 20:29 thumbs
drwxr-xr-x 3 root root 4096 apr 15 20:29 upload
~/externalRAID/Immich$ ls -l
total 24
drwxr-xr-x 2 root root 4096 apr 19 02:00 backups
drwxr-xr-x 3 root root 4096 apr 15 20:31 encoded-video
drwxr-xr-x 3 root root 4096 apr 15 20:29 library
drwxr-xr-x 2 root root 4096 apr 15 15:08 profile
drwxr-xr-x 3 root root 4096 apr 15 20:29 thumbs
drwxr-xr-x 3 root root 4096 apr 15 20:29 upload
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
sogan
sogan2w ago
Hmm no that’s too long
Zeus
Zeus2w ago
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
Wasbeer
WasbeerOP2w ago
ok thanx. ill check the proxy server guide again
Zeus
Zeus2w ago
Also would use wired instead of wifi
Wasbeer
WasbeerOP2w ago
i run my server wired ofcourse 🙂
aviv
aviv2w ago
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.
Wasbeer
WasbeerOP2w ago
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
aviv
aviv2w ago
When you describe immich feeling stuck, does this happen when there are jobs running in the background?
Zeus
Zeus2w ago
Well I means the client side, it’s not clear if that was wired?
Wasbeer
WasbeerOP2w ago
ah sorry, no client is over wifi yes. using cloudflare is common practice for immich aswell i assume ?
Alex Tran
Alex Tran2w ago
CF Tunnel?
Wasbeer
WasbeerOP2w ago
no just cloudflare
Alex Tran
Alex Tran2w ago
CF domain is fine don't proxy it
Wasbeer
WasbeerOP2w ago
via nginx proxy manager in my case
Zeus
Zeus2w ago
If you mean DNS only (grey cloud only, not orange) that’s fine
Wasbeer
WasbeerOP2w ago
ah i have the orange
Zeus
Zeus2w ago
Then you are proxied through CF Which adds all kinds of issues. Mostly that uploads are currently completely broken On mobile
Wasbeer
WasbeerOP2w ago
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
Zeus
Zeus2w ago
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
Wasbeer
WasbeerOP2w ago
thats nice to hear
Zeus
Zeus2w ago
In contrast with the orange cloud they can view all your data in plain
Wasbeer
WasbeerOP2w ago
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
Zeus
Zeus2w ago
The first part yes. But with proxy they decrypt your traffic
Wasbeer
WasbeerOP2w ago
okay well then im pulling my sabnzbget off the proxy right now haha
Zeus
Zeus2w ago
So yes, it routed through their servers and they can read the data while it’s transiting
aviv
aviv2w ago
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)
Zeus
Zeus2w ago
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
Wasbeer
WasbeerOP2w ago
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
Zeus
Zeus2w ago
You should use DNS (un proxied) for everything IMO There’s no legit reason for an IP
Wasbeer
WasbeerOP2w ago
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!
Zeus
Zeus2w ago
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
Wasbeer
WasbeerOP2w ago
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

Did you find this page helpful?