Immich is one of the best self-hosted alternatives to Google Photos, but before you spin up a container, you need to make sure your hardware can handle it. The official minimum requirements are 6GB of RAM and a dual-core CPU, with 8GB RAM and four cores recommended — and there are a few architecture and filesystem constraints that catch people out. This guide walks through the most common hardware choices, from a spare Raspberry Pi to a dedicated mini PC, so you can pick the right platform for your library size and budget.
Official Minimum Requirements
Immich’s documentation is clear about what you need to run a stable instance. At a minimum, you need:
- RAM: 6GB minimum, 8GB recommended
- CPU: 2 cores minimum, 4 cores recommended
- Architecture: amd64 (x86_64) or arm64 — 32-bit operating systems are not supported
- Storage: ~20GB for the OS and Immich configuration; your photo library is separate and scales with your collection
Since Immich v2.6, there is an additional CPU requirement for amd64 users: your processor must support the x86-64-v2 microarchitecture level or newer. In practice, most CPUs manufactured from around 2008 onwards qualify, but very old or low-end processors may fall short. If you are running Immich on ancient hardware and containers fail to start, this is the first thing to check.
The filesystem used for PostgreSQL data also matters. Immich requires EXT4, ZFS, BTRFS, XFS, APFS, or a similar native Linux filesystem. NTFS and FAT32 are not supported and will cause database issues — a common problem when people try to mount an external Windows-formatted drive as the data directory.
Machine Learning: The RAM Wildcard
Immich ships with a separate machine learning container that handles face recognition and smart search. This is one of the most useful features, but it also consumes meaningful RAM on top of the core application. On systems with limited memory — particularly those sitting at or below the 6GB minimum — the ML container can be disabled entirely. If you do disable it, face recognition and semantic search will not work, but the core photo library, albums, and timeline features remain fully functional.
Alternatively, if you have a more powerful machine elsewhere on your network, you can run the ML container on that machine and point your main Immich instance at it. This is a useful option for NAS users who want smart search without upgrading their NAS RAM.
Raspberry Pi
Raspberry Pi 4 (4GB)
The 4GB Raspberry Pi 4 is technically capable of running Immich, but it is a marginal choice. With 4GB of RAM, you are already below the 6GB minimum, which means you must disable the machine learning container. Even with ML disabled, the core application, PostgreSQL, and the Redis cache will compete for memory, and you may see sluggish performance during uploads or when browsing large albums. Video transcoding is also painfully slow on the Pi 4’s CPU — if your library includes a lot of video, expect long processing queues.
That said, for a small photo library with ML disabled and no heavy video workload, the 4GB Pi 4 can work as a starting point. Just be aware that you are operating outside the recommended envelope, and a busier household or larger library will push it over the edge.
Raspberry Pi 4 (8GB) and Raspberry Pi 5
The 8GB Raspberry Pi 4 and the Raspberry Pi 5 are considerably more viable. Both run 64-bit arm64 operating systems (a 32-bit OS will not work), and the 8GB model clears the recommended RAM threshold. The Pi 5 benefits from a faster CPU and improved I/O, making it noticeably snappier for general use.
Machine learning can run on these boards, though it will be slower than on a proper x86 machine — expect smart search indexing to take longer, especially on first run. Video transcoding remains a weak point; the Pi lacks hardware-accelerated encoding in the way a modern Intel NUC does, so heavy 4K video libraries will take time to process. For small-to-medium photo libraries where speed is not critical, the Pi 4 8GB or Pi 5 is a perfectly reasonable low-power option.
Intel NUC and Mini PCs
For most home users, a compact mini PC is the sweet spot. Brands like Beelink, Minisforum, and GMKtec produce small-form-factor machines based on modern Intel and AMD processors that comfortably exceed the x86-64-v2 requirement. These machines typically support 16–32GB of RAM, draw only 10–15W under load, and cost between £150 and £300 new — often less second-hand.
The key advantage over a Raspberry Pi is Intel Quick Sync, Intel’s hardware video transcoding engine. Immich can use Quick Sync to transcode video in a fraction of the time it takes a Pi, which makes a meaningful difference if your library includes smartphone videos or action camera footage. A basic Beelink EQ12 or similar N100-based mini PC will handle most home library workloads with ML enabled and headroom to spare.
If you already have a mini PC sitting idle as a home server, check whether it supports the v2 microarchitecture level before upgrading Immich to v2.6 or later. For anything made in the last ten years, it almost certainly does.
NAS (Synology, QNAP, TrueNAS)
Running Immich on a NAS is a popular choice because the NAS is already storing your files and running 24/7. Compatibility varies by model and platform.
Synology: Mid-range units like the DS923+ can run Immich via Docker (Container Manager). These devices typically ship with 4–8GB of RAM — upgrading to 8GB or more is strongly recommended before attempting to run Immich with ML enabled. Check that your Synology model uses an amd64 or arm64 CPU; older ARM32 models are not supported.
QNAP: Most current QNAP NAS devices run Container Station, which supports Docker. As with Synology, RAM is the limiting factor on entry-level models. Higher-end units with Intel processors and expandable RAM are well-suited to Immich.
TrueNAS Scale: TrueNAS Scale has native Docker support and is an excellent platform for Immich, particularly if you are already using ZFS — one of the supported filesystems for PostgreSQL data. Make sure you are pointing the Immich data directory at a ZFS or EXT4 volume rather than a Windows-formatted external drive.
Existing Home Server or Proxmox Node
If you already run a home server or Proxmox node, this is the easiest and most flexible option. Running Immich as an LXC container or virtual machine alongside other services (Home Assistant, Nextcloud, Plex, etc.) gives you full control over resource allocation, easy snapshots for backups, and the ability to expand resources as your library grows. Any modern server-grade CPU will comfortably meet the v2 microarchitecture requirement, and you can allocate as much RAM as the workload demands.
Storage Planning
Beyond the 20GB needed for the OS and Immich configuration, your photo library storage depends entirely on your collection. As a rough guide:
- Photos: 1TB holds approximately 200,000–300,000 photos at typical smartphone JPEG sizes
- Video: 1TB holds roughly 15,000–30,000 4K video clips, depending on length and bitrate
Plan for at least twice your current library size to give yourself room to grow without migrating storage mid-deployment. A NAS or external drive connected via USB 3 or network share works well for the photo library itself, as long as the PostgreSQL data directory remains on a supported filesystem. Keep the database on internal storage where possible — fast, reliable I/O matters more for the database than for the photo files themselves.
Related Immich Guides
- Immich: The Complete Self-Hosted Google Photos Alternative
- What Is Immich? The Self-Hosted Google Photos Alternative
- How to Install Immich with Docker Compose
- Immich vs Google Photos: Is Self-Hosting Worth It?
- How to Set Up Immich Mobile Backup on iPhone and Android
- How to Run Immich on Proxmox: LXC Container Setup
- How to Put Immich Behind a Reverse Proxy with SSL
- Immich Face Recognition and Smart Search: How to Enable It
- How to Back Up Immich: Protecting Your Photo Library
- Immich vs PhotoPrism vs Piwigo: Best Self-Hosted Photo App?






