Measured on a real homelab
Immich RAM & CPU requirements (measured)
On our homelab it uses about 714 MB of RAM on a normal hour, 1,008 MB in busy hours, and peaked at 4.3 GB over the last 30 days (one household: 11,520 photos + 4,673 videos (46 GB); machine learning loads its models on demand).
What makes it grow
Thumbnails and transcoded video add 10-20% on top of the original media library size, and very large libraries (750k+ assets) benefit from significantly more RAM and a GPU for ML processing.
Sizing it
Our rule of thumb: plan for the highest process memory recorded plus 25% headroom: 5.3 GB. Our workload is small — scale it with the factors above before buying hardware.
Combine it with other apps in the resource calculator →
Build it: Rent a VPS ·
Buy a mini-PC
Self-hosting photos, files or passwords? Keep an off-site copy (3-2-1 rule): pCloud lifetime backup
How we measure
Memory per container from Netdata on the same server, summed across the whole stack (app, database and cache) hour by hour. The main figures are the processes' own memory (anonymous memory: heap, stacks). The docker stats figure is higher because it also counts active disk cache — which Linux gives back when it needs it — and shared memory such as PostgreSQL's shared buffers. Hours where the main container had no data are left out, not counted as zero. Re-measured with a script, not by hand.
Other measured apps