immich-server-qsv-vaapi
ghcr.io/immich-app/immich-server:release
https://github.com/immich-app/immich/pkgs/container/immich-server
immich_internal
bash
false
https://github.com/immich-app/immich/issues
https://immich.app
Immich – self-hosted photo and video management with Intel QSV / AMD VAAPI hardware transcoding.
This template includes /dev/dri GPU passthrough for accelerated video transcoding. Works with Intel iGPUs (N100, N150, UHD/Iris) and AMD GPUs (Polaris or newer with amdgpu driver).
Enable transcoding in Administration → System Settings → Video Transcoding → select QSV (Intel) or VAAPI (AMD). For NVIDIA NVENC, use the immich-server-nvenc template instead.
Storage layout: This template splits storage between HDD (Array) and SSD (Cache) for optimal performance. Large, rarely-accessed files (uploads, backups, library) go on the Array. Frequently-accessed generated files (thumbnails, encoded video, profile) go on the Cache.
All Immich containers should be on the same Docker network so they can communicate by container name.
Docs: https://docs.immich.app
MediaApp:Photos Status:Stable
http://[IP]:[PORT:2283]
https://raw.githubusercontent.com/rorar/unraid-templates/main/templates/immich-server-qsv-vaapi.xml
https://raw.githubusercontent.com/rorar/unraid-templates/main/templates/docker_icons/immich-logo.png
--health-cmd="wget --no-verbose --tries=1 --spider http://localhost:2283/api/server/ping || exit 1" --health-interval=10s --health-retries=5 --health-start-period=60s --health-timeout=5s
Requires Intel iGPU or AMD GPU with /dev/dri available.
If /dev/dri is missing, ensure the GPU kernel module is loaded (modprobe amdgpu or modprobe i915).
AMD users may need the RadeonTOP plugin to enable /dev/dri.
Also requires: immich-vectorchord-db (or compatible PostgreSQL with VectorChord/pgvector), immich-valkey, and immich-machine-learning containers on the same Docker network.
Before deploying, create two Unraid shares (Shares tab → Add Share):
1. Share 'immich' – Stores your photo and video library, uploads, and backups.
Share name: immich
Comments: Immich photo and video library, as well as backups and uploads.
Minimum free space: 10GB (setting too low may lead to issues with uploads and backups if the share runs out of space)
Primary storage: Array
Allocation method: High-Water
Split level: Automatically split any directory as required
Included disk(s): All (you can exclude disks to dedicate them for other purposes or if you have untrusted disks)
Excluded disk(s): None
2. Share 'immich-gen' – Stores generated files: thumbnails, encoded videos, and profile data.
Share name: immich-gen
Comments: Immich generated files (thumbnails, encoded videos) and profile.
Minimum free space: 10GB (setting too low may lead to issues with thumbnail generation and video encoding if the share runs out of space)
Primary storage: Cache (SSD/NVMe)
Secondary storage: Array (HDD – fallback in case the cache runs out of space, but ideally keep immich-gen on the cache for optimal performance)
Allocation method: High-Water
Split level: Automatically split any directory as required
Included disk(s): All (you can exclude disks to dedicate them for other purposes or if you have untrusted disks)
Excluded disk(s): None
Mover action: Cache → Array
Full setup guide: https://rorar.github.io/immich-unraid-manual/
2283
/mnt/user/immich/upload/
/mnt/user/immich/backups/
/mnt/user/immich/library/
/mnt/user/immich-gen/thumbs/
/mnt/user/immich-gen/encoded-video/
/mnt/user/immich-gen/profile/
immich-vectorchord-db
5432
postgres
postgres
immich
immich-valkey
6379
/dev/dri
Europe/Berlin
/etc/localtime
log