Verify my Immich docker compose: gpu+traefik
Hello everybody,
I'm setting up a new server and I have decided to install Immich onto it.
Tech stack:
OS
Debian testing -
Linux minibip 6.16.11+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.16.11-1 (2025-10-07) x86_64 GNU/Linux
GPU
Software stack
* I run everything in Portainer, using the attached docker compose file
* I have other containers running with no issues and some of them (ollama) use the GPU with no issue -> so I KNOW for sure my GPU is accessible through Docker.
My question
Can someone check my Docker Compose file? (in attachment) Particularly when it comes to the GPU settings.
I have tried to inline the GPU part inside the immich-machine-learning container, and I'm wondering whether I did it correctly.
I am wondering this because I am uploading a bunch of pics to my server, I see the CPU working a lot, but the GPU is as lazy as a French public employee on a Friday at 15h30 (it's a joke, don't kill me, also I'm French, so I'm allowed 😈 )
Thank you in advance for your help ❤️
(edited, see attachment below in this message https://discord.com/channels/979116623879368755/1433497252042772530/1433505591602446396 )28 Replies
:wave: Hey @Jay,
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. :blue_square: 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:Why did you rename everything? Why are the domains for the images changed ?
Just because you are French does not mean you need to commit debauchery. 👀
Oh I did a swipe of anonimization before posting here
My dumb AI renamed all URLs
but obviously I'm using the stock docker images
I'm gonna respost the docker compose with the correct URLs pointing to correct images.
I'm more asking about the need to rename all the services
You are aware we use these names to communicate between containers?
There it is
sorry for this initial docker compose code which was clearly messed 😭
Yep yep 100%
Your ML container image is not cuda
ghcr.io/immich-app/immich-machine-learning:release
->
ghcr.io/immich-app/immich-machine-learning:release-cudaI'm gonna test this right now!
Thank you very much for your reply ❤️
In the logs of the container "immich_machine_learning", I get this
In the meantime my nvidia-smi is perfectly doing nothing
(I edited a little bit, otherwise it wouldn't fit here)
For reference I have attached the updated docker compose
I think the GPU is still not used
And the immich_machine_learning container clearly sees 56 cores which correspeonds to my CPUs (2x23cores)
Alright what jobs are you running that you expect the GPU to be doing right now?
I am expecting the face detection/recognition to be offloaded to the GPU 👉 👈
Okay but are they running? 😛
Seems like it
that's not how you check the jobs lol
https://my.immich.app/admin/jobs-status
If your ML container receives a job it should show something like:
But in your case, in addition to CPUExecuptionProvider it would show GPU
Alright
I'm not sure I got what this is supposed to do
I click on "save", then the button displayed "Saved!"
And then what?

That's for creating external share links and the likes
Otherwise, how would the application know what URL you're hosting on? 🙂
I really struggle to understand this
* "External share links"? To share what? With whom?
* "How the application know what URL I'm hosting on"? You mean so that I can create shareable links such as https/mydomain.com/fweofjewjo-fewfewlkfew-fwefwefw to share pics with other people?
But why do I need this right now? I mean, I'm not trying to share anything
Oh sorry I misread the screenshot, I thought you were way past that @Jay
You set that to whatever URL you're using for Immich right now
It simply sets a cookie / redirect so if I share an
my.immich.app link with you it translates that to your local URL
You could also just navigate to /admin/jobs-status yourself of courseOk I think I'm gonna wait a little bit
Pics and vids are being uploaded
I'm guessing ML stuff/GPU stuff will happen afterwards
Thanks again for your help

(I couldn't screenshot the whole jobs page -> it's way too long 😅 )
mmm that or they were interrupted with restarting and whatnot
If you're feeling adventurous just click missing on all the jobs
For now it's not doing anything

Just did that
It adds "1" to the waiting counters 🤷♂️
But I'm gonna be patient
Stuff is still being uploaded
It could still be done already 😛
If you want to be sure just run any smart search, so just some text in the search bar
The message about the model being loaded should at the very least pop up
in the docker logs
It's doing this 🤔
And the transcoding, at least, is for sure not being run on the GPU
(which is fine I guess 🤔 it has nothing to do with the ML part)



OKi, I will do that 😊
transcoding happens on the immich_server container and you don't currently have that set for GPU
(And honestly the CPU quality is better)