Immich Hardware Requirements and Sizing: A Doc-Based Worksheet
Doc-based, not yet hands-on tested. This guide is written from the official documentation and has not yet been tested hands-on by us. Check the current official docs before running anything.
Pinned version: Immich v3.3.5 (confirmed in our factcheck report — https://github.com/immich-app/immich/releases/tag/v3.3.5). Last checked: 2026-10-24. Requirements are quoted from the v3.3.5 docs (requirements page; source at v3.3.5).
Transparency note (HomelabWise): This guide is based on official documentation only and was not hands-on tested by us. Nothing here was measured. Check the linked docs before you buy hardware.
The official minimums
| Resource | Minimum | Recommended | Notes from the docs |
|---|---|---|---|
| RAM | 6 GB | 8 GB | "For systems with only 4GB of RAM, Immich can be run with machine learning features disabled." |
| CPU | 2 cores | 4 cores | amd64 or arm64. Since v3, the machine-learning container on amd64 needs the x86-64-v2 microarchitecture level ("Most CPUs released since ~2012"). |
| OS | 64-bit Linux recommended | — | Non-Linux OSes "tend to provide a poor Docker experience and are strongly discouraged". |
| Filesystem | Unix-compatible (EXT4, ZFS, APFS…) | — | Must support user/group ownership and permissions. NTFS and exFAT/FAT32 won't work for the database. |
| Database disk | Local SSD | — | Postgres files are "typically between 1-3 GB". Use local SSD, "never a network share of any kind". |
Software: Docker Engine with the Docker Compose plugin. The docker compose command is required, and the old docker-compose "is no longer supported by Immich".
Sizing worksheet (our arithmetic on the documented figures)
The ×1.2 factor below is HomelabWise's own rounding of the documented 10–20% range, not an official Immich formula.
The docs say thumbnails and transcoded video "can increase the size of the photo library by 10-20% on average", and that the database is typically 1–3 GB. From those two figures:
library storage needed ≈ <YOUR_LIBRARY_GB> × 1.2 # upper end of the 10–20% overhead
database storage (SSD) ≈ 3 GB # upper end of the typical 1–3 GBExample: a 500 GB photo library → about 600 GB for the library, plus about 3 GB of SSD for Postgres. This is a rough estimate, not a measurement. Backups (3-2-1) need additional space on other disks. See our backup guide.
⚠️ Caution: these figures are averages from the docs. Libraries with lots of video may need more space. Leave free-space headroom, and don't put
DB_DATA_LOCATIONon a NAS share.
The docs say the last version supporting x86-64-v1 is v2.7.5, which "is no longer supported".
Virtual machines and containers
- Immich "runs well in a virtualized environment when running in a full virtual machine". In a VM, choose a CPU type that exposes x86-64-v2.
- Docker inside LXC containers is "not recommended, but may be possible for advanced users".
- If Docker resource limits are used, Postgres needs at least 2 GB of RAM.
Windows note
The database can't sit on NTFS or on a WSL-mounted host directory (/mnt/...). The docs' workaround is a Docker volume:
DB_DATA_LOCATION=pgdataThen add pgdata: under the top-level volumes: in docker-compose.yml (see the docs).
What hardware fits?
- Mini PC: any 4-core x86-64 box with 8 GB+ RAM meets the recommendation on paper. See our mini PC checklist.
- VPS: see the spec-matched VPS table.
Sources
- https://docs.immich.app/install/requirements
- https://github.com/immich-app/immich/blob/v3.3.5/docs/docs/install/requirements.md
- https://github.com/immich-app/immich/releases/tag/v3.3.5