immich-server-nvenc
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 NVIDIA NVENC hardware transcoding.
This is the main server component with NVIDIA GPU passthrough for accelerated video transcoding. Requires NVIDIA Container Toolkit on the Unraid host.
Enable transcoding in Administration → System Settings → Video Transcoding → select NVENC.
For Intel QSV or AMD VAAPI transcoding, use the immich-server-qsv-vaapi 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-nvenc.xml
https://raw.githubusercontent.com/rorar/unraid-templates/main/templates/docker_icons/immich-logo.png
--runtime=nvidia --gpus=all --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 NVIDIA GPU (Pascal or newer) and NVIDIA Container Toolkit.
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
Europe/Berlin
/etc/localtime
log