I
Immich2y ago
meh

Cannot enable Hardware transcoding update on portainer

Just updated to v1.72.0 & trying to enable HW transcoding using intel quicksync. When I add the lines under immich_microservices and another services as hwaccel & redeploy, getting the following error: "Failure failed to pull images of the stack: open /data/compose/1/hwaccel.yml: no such file or directory" My docker compose used as a stack in portainer:
17 Replies
Alex Tran
Alex Tran2y ago
Have you read the linked guide in the release note
meh
mehOP2y ago
To the best of my efforts, I have Alex.
Alex Tran
Alex Tran2y ago
Hardware Transcoding [Experimental] | Immich
This feature allows you to use a GPU or Intel Quick Sync to accelerate transcoding and reduce CPU load.
Alex Tran
Alex Tran2y ago
There is the link to the hwavcel.yml file in the documentation Have you had a chance to get the file yet?
meh
mehOP2y ago
sorry not sure why but pasting the change in discord is screwing up the format of the hardware transcoding service but it shows up ok in portainer as far as formating is concerned.
No description
meh
mehOP2y ago
Yup, following that I made the following changes (in bold) to my docker compose file I am deploying as a stack in portainer: immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} extends: file: hwaccel.yml service: hwaccel command: [ "start.sh", "microservices" ] volumes:
${UPLOAD_LOCATION}:/usr/src/app/upload env_file: stack.env depends_on: redis database typesense restart: always hwaccel: devices:
/dev/dri:/dev/dri
# If using Intel QuickSync or VAAPI # volumes: # - /usr/lib/wsl:/usr/lib/wsl # If using VAAPI in WSL2 # environment: # - NVIDIA_DRIVER_CAPABILITIES=all # If using NVIDIA GPU # - LD_LIBRARY_PATH=/usr/lib/wsl/lib # If using VAAPI in WSL2 # - LIBVA_DRIVER_NAME=d3d12 # If using VAAPI in WSL2 # deploy: # Uncomment this section if using NVIDIA GPU # resources: # reservations: # devices: # - driver: nvidia # count: 1 # capabilities: [gpu] I am guessing the "extends" is expecting a file where as I have defined it as a service ?
Alex Tran
Alex Tran2y ago
I believe so
meh
mehOP2y ago
anything I can try ? I have tried using: extends: service: hwaccel But got error that "hwaccel" does not have an image associated with it as a service
Alex Tran
Alex Tran2y ago
You can find where the docker-compose is stored and put in the hwaccel file in there @sogan Might have better idea than me
sogan
sogan2y ago
hwaccel.yml is intended to be a convenience to reuse the settings in it across different docker-compose files and avoid cluttering them. If Portainer is complaining about it, you can just put the relevant settings in immich-microservices itself. in your case, it would just mean adding
devices:
- /dev/dri:/dev/dri
devices:
- /dev/dri:/dev/dri
to immich-microservices
meh
mehOP2y ago
Thanks giving this a try
jrasm91
jrasm912y ago
Do you have the portainer data directory mounted as a folder?
meh
mehOP2y ago
This worked perfectly. I can see igpu being used for HEVC encoding (only have 7th gen i3) To confirm, had to install "sudo apt install intel-gpu-tools" then "intel_gpu_top"
No description
meh
mehOP2y ago
Hi, haven't messed around with the actual portainer installed components yet.
sogan
sogan2y ago
awesome! also thanks for mentioning that tool, i wasn't aware of it
meh
mehOP2y ago
Thank you for the awsome hw transcoding efforts. My 1500 videos are actually transcoding faster now. And the difference is night & day, my instance transcoded around 1500 videos in ~5 days before HW enabled. It has done 100 in the last 1 hour. already

Did you find this page helpful?