It’s a full VM, so OS and docker creates some overhead, but before I upgraded the server it ran on far less resources and specially big imports were painfully slow. Also that’s just the number from proxmox console, so there’s likely some cache included, but stats show that the VM pulls over 10G every now and then with shorter spikes over 20GB of consumed RAM.
As I mentioned, it can run on way less, but it feels a lot more responsive when it has enough resources.



Immich itself is running on docker, so it’s the same than every other setup. For me it just makes more sense to run that on a separate VM than keeping all the docker containers in a same operating system due to backups, manageability, access control and so on, even if it costs a bit of memory to run a full operating system. Biggest consumers on the host process list are immich-api, postgres-processes and immich. Actual used memory is around 2,5GB for the whole system with ~5GB on buffers/cache.
But I often import hundreds of raw photos at a time from DSLR and/or 4K video footage from my drone and processing those takes quite a lot of memory. With less memory and slower drives the whole thing crashed when importing bigger batches to out of memory erros, but I suppose it could run just fine with even less than 4GB of memory, if the usage pattern is just to upload photos from your cellphone in a relatively slow pace.