Advertisement

Immich Hardware Requirements: CPU, RAM, Storage, GPU, Pi and NAS

By Updated Checked against official sources on 17 Oct 2026

Short answer: The official Immich requirements page asks for a 64-bit Linux host running Docker with the Compose plugin, at least 2 CPU cores (4 recommended) and at least 6GB of RAM (8GB recommended). Machine learning can be switched off to run on 4GB. Keep the Postgres database on local SSD storage, never on a network share, and plan for thumbnails and transcoded video to add about 10-20% on top of your originals. A GPU is optional. Raspberry Pi boards can run Immich, but the FAQ warns it can be too heavy for them, and hardware transcoding does not support the Pi.

Official-source review — 17 October 2026 UTC: We checked the Immich documentation pages for requirements, hardware transcoding, machine learning hardware acceleration, remote machine learning, backup and restore, the FAQ and the community install guides for Synology, TrueNAS and Unraid (all showing “last updated” 8 October 2026), plus the Immich GitHub releases page, where the latest release was v3.3.3 (14 October 2026). We also read the Raspberry Pi 5 product page, Seagate’s IronWolf page and Backblaze’s 3-2-1 explainer. We did not build or benchmark a server. Every figure below comes from those pages. The example setups are our own planning guidance, not test results.

Official Immich hardware requirements (minimum and recommended)

The Immich requirements page lists these hardware figures word for word: “RAM: Minimum 6GB, recommended 8GB.” and “CPU: Minimum 2 cores, recommended 4 cores.” It adds: “For systems with only 4GB of RAM, Immich can be run with machine learning features disabled.” So the answer to “immich minimum ram” is 6GB, or 4GB if you give up face recognition and smart search.

Immich official requirements (docs last updated 8 October 2026)
Item What the docs say
Operating system 64-bit Linux or *nix recommended (Ubuntu, Debian, etc.). Non-Linux hosts are strongly discouraged. Windows (Docker Desktop or WSL 2) and macOS (Docker Desktop) are possible.
CPU Minimum 2 cores, recommended 4. amd64 and arm64 are supported. Since v3, the amd64 machine learning container needs the x86-64-v2 microarchitecture level.
RAM Minimum 6GB, recommended 8GB. 4GB works only with machine learning disabled.
Storage Unix-compatible filesystem (EXT4, ZFS, APFS, etc.) that supports user/group ownership and permissions.
Software Docker with the Compose plugin, using the docker compose command. The older docker-compose is deprecated and unsupported.

Two platform notes matter before you buy anything. First, the page says “The use of Docker in LXC containers is not recommended, but may be possible for advanced users.” A full VM is fine. Second, Docker Desktop is not recommended on Linux. Use Docker Engine there. Our Immich install guide walks through the Compose setup, and the Immich software page covers what the app does.

One older-hardware trap: the requirements page says amd64 CPUs below x86-64-v2 have to stay on the older v2.7.5 machine learning image, which is no longer supported. The Unraid guide also records a user report of failures on servers without AVX support. Check your CPU’s instruction-set support before you reuse an old server.

Advertisement

Storage planning: library size, thumbnails and the database

Start with the size of your originals. The requirements page says: “The generation of thumbnails and transcoded video can increase the size of the photo library by 10-20% on average.” A 1TB library should therefore have roughly 1.1-1.2TB available for Immich, before growth and backups.

The database is small and needs fast, reliable storage. The same page says it is typically 1-3GB and that “the Postgres database (DB_DATA_LOCATION) should ideally use local SSD storage, and never a network share of any kind.” If you set Docker resource limits, Postgres needs at least 2GB of RAM. The FAQ lists causes of database corruption that include a network share for Postgres data and “a poor storage medium such an SD card or failing HDD/SSD.”

The database “will not work on any filesystem formatted in NTFS or ex/FAT/32”, nor in WSL on a host directory under /mnt. On Windows, use a Docker volume.

A common layout that follows these rules is a small SSD for the operating system, Docker and Postgres, with the photo library on larger hard drives. If those drives sit in a multi-bay box running all day, use drives sold for that job. Seagate’s IronWolf page, for example, describes NAS drives built for “24×7 operation” with workloads up to 180TB per year. Also note the FAQ warning that storage speed and latency, “particularly when using HDDs”, can become the limit on machine learning speed.

Machine learning and video transcoding: CPU or GPU?

Immich runs face detection and smart search (CLIP) in a separate machine learning container. It works on CPU. A GPU or NPU speeds it up but is not required. The FAQ says “The initial backup is the most intensive due to the number of jobs running.” To lower the load, it suggests setting job concurrency to 1, limiting transcoding threads to 1 or 2, and switching the face model from buffalo_l to buffalo_s.

Machine learning acceleration backends

The ML hardware acceleration page lists five backends, all supported only on Linux and Windows through WSL2:

Documented machine learning acceleration options
Backend Hardware Documented requirements
CUDA NVIDIA GPUs Compute capability 5.2 or higher, NVIDIA driver 545 or later, NVIDIA Container Toolkit on Linux. The docs call CUDA the most reliable backend.
OpenVINO Intel GPUs (e.g. Iris Xe, Arc) A recent enough kernel. Integrated GPUs are more likely to have issues. RAM use is higher than on CPU.
ROCm AMD GPUs AMDGPU driver and a ROCm-supported GPU. The image needs at least 35GiB of free disk space.
ARM NN Arm Mali GPUs /dev/mali0 on the host and the closed-source libmali firmware. Does not improve search latency.
RKNN Rockchip NPUs RK3566, RK3568, RK3576 or RK3588 only, RKNPU driver 0.9.8 or later.

If your Immich box is weak, the remote machine learning guide lets you run that container on a stronger computer. Two cautions from the guide: image previews leave your server, and the container “has no security measures whatsoever”, so keep it on a private network. A private mesh such as the ones compared in Tailscale vs WireGuard is one way to limit who can reach it.

Hardware video transcoding

The hardware transcoding page supports NVENC (NVIDIA), Quick Sync (Intel), RKMPP (Rockchip) and VAAPI (AMD, NVIDIA, Intel). The limitations it lists:

  • Only Linux and Windows through WSL2 servers are supported, and WSL2 does not support Quick Sync.
  • Quick Sync needs a 9th gen Intel CPU or newer for VP9.
  • NVENC needs the official NVIDIA driver, plus the NVIDIA Container Toolkit on Linux.
  • By default only encoding is hardware accelerated. NVIDIA and AMD GPUs do not support VP9 encoding.
  • “Raspberry Pi is currently not supported.”

In practice, a recent Intel CPU with integrated graphics can cover both jobs on its own: Quick Sync for video and OpenVINO for machine learning.

Raspberry Pi and ARM: does Immich run on a Pi?

Yes, with limits. Immich publishes arm64 images, according to the requirements page. The Raspberry Pi 5 uses a 64-bit Arm Cortex-A76 CPU and comes with 1GB to 16GB of RAM, so the 8GB and 16GB models meet the documented recommendation on paper. But the FAQ says Immich’s transcoding and machine learning features “can be too heavy to run on a Raspberry Pi,” and the transcoding page says the Pi is not supported for hardware acceleration. The Pi 5 product page lists a 4Kp60 HEVC decoder but no hardware video encoder.

If you go ahead with a Pi:

  • Do not put the database on a microSD card. The FAQ names SD cards as a cause of corruption. The Pi 5 has a PCIe 2.0 x1 interface for an M.2 SSD through an add-on board.
  • Use the FAQ’s low-resource settings, or move machine learning to another machine with the remote ML guide.

Rockchip boards (RK3566, RK3568, RK3576 and RK3588) are the ARM option with documented acceleration: RKMPP for video and RKNN for machine learning.

Immich on a NAS: Synology, TrueNAS and Unraid

Immich documents NAS installs, but every NAS guide is labelled a community contribution, “not officially supported by the Immich team.” What each guide says:

  • Synology: The Synology guide uses Container Manager from DSM’s Package Center with the official Compose files. It gives no minimum DSM version. It mentions setting DB_STORAGE_TYPE: 'HDD' if the database sits on hard drives.
  • TrueNAS: The TrueNAS guide targets Community Edition 24.10.2.2 (Electric Eel) and later. It recommends SSD storage for the database, Host Path datasets rather than ixVolume, and suggests at least 8 CPU threads and 6000MB of memory, or more than 8000MB with machine learning.
  • Unraid: The Unraid guide uses the Docker Compose Manager plugin or a Community Applications template. It says to put DB_DATA_LOCATION on a cache-pool share such as appdata. It was written on Unraid 6.12.10, whose Docker Engine needs two healthcheck lines commented out.

Before you choose a NAS for Immich, check its CPU against the x86-64-v2 rule and its RAM against the 6-8GB figure. Many entry-level NAS units ship with less memory than that. If you are still choosing a NAS operating system, see TrueNAS vs Unraid. The same “VM yes, LXC not recommended” rule applies if Immich shares a box with Home Assistant. Our Home Assistant install methods guide covers that side.

Example Immich setups by library size (planning guidance, not benchmarks)

We built this table only from the documented figures above. It is our planning guidance, not a test result. Measure your own originals first. If you are moving from Google, the export size in our Google Photos to Immich guide is a good starting number.

Our planning guidance from Immich’s documented requirements (not benchmarks)
Setup CPU and RAM Storage Acceleration
Small: under 500GB of originals, one or two users 2-4 cores, 6-8GB RAM (4GB only with machine learning off) Originals × 1.2 (about 600GB) plus growth. Postgres (1-3GB) on SSD CPU only. Use the FAQ’s low-resource settings
Medium: 500GB-2TB, a family 4+ cores (x86-64-v2 on amd64), 8GB+ RAM Up to about 2.4TB for a 2TB library. SSD for OS, Docker and Postgres. NAS-class HDDs for the library Intel iGPU: Quick Sync for video, OpenVINO for ML
Large: over 2TB, several heavy users 4+ cores, more than 8GB RAM (TrueNAS guide: 8+ threads) Originals × 1.2 plus growth, on redundant disks. SSD for Postgres and optionally thumbnails NVIDIA GPU (CUDA 5.2+, NVENC) or remote ML on a stronger machine

Backups: the 3-2-1 rule from the Immich docs

The backup and restore page says: “A 3-2-1 backup strategy is recommended to protect your data.” Backblaze defines that as three copies of your data on two different media, with one copy off-site. Immich makes a database dump every day at 2:00 AM by default, keeps the 14 most recent in UPLOAD_LOCATION/backups, and warns: “Database backups do not contain photos or videos — only metadata.” You need both. The critical folders are library, upload and profile. Thumbnails and encoded video can be regenerated after a restore.

For hardware, budget for a second device and an off-site target from the start. A mirrored array on the Immich box is still only one copy.

Sources

Related guides