Skip to main content

Self-hosted photos and files: what the server really costs

Self-hosting your photo library costs more than the cloud plan it replaces, and it is not close. Immich's own documentation asks for 8 GB of RAM; the cheapest Liquid Web VPS that meets that is $45/month for 240 GB of disk. A 2 TB iCloud+ plan is $9.99/month. That is 4.5 times the price for about an eighth of the space. Self-hosting photos wins on control, not on money.

Everything below was checked live on 2026-09-09 against the projects' own docs and the hosts' own pricing pages.

Which one do I need, Immich or Nextcloud?​

They are not substitutes. Photo backup and file sync are different jobs, and the old version of this page listed both without saying so.

Your jobToolReplacesStatus here
Phone camera roll backed up, face and object search, a timeline that looks like Google PhotosImmichGoogle Photos, iCloud PhotosDeployed and documented
Shared folders, desktop sync clients, documents and calendars for a teamNextcloudDropbox, Google DriveTracked, not yet deployed by us

Both are AGPL-3.0. Immich has 113.7k GitHub stars and Nextcloud's server repository has 36.8k (github.com/immich-app/immich, github.com/nextcloud/server, both checked 2026-09-09). Nextcloud does handle photos: it ships a first-party Photos app (github.com/nextcloud/photos, AGPL-3.0), and the popular Memories timeline is a third-party App Store add-on by Varun Patil rather than a Nextcloud product (apps.nextcloud.com/apps/memories) — both checked 2026-09-09. If the camera roll is the point, Immich is the one built for it.

If you want both, they are separate stacks with separate databases on the same box. Add their footprints before you pick a tier.

What does a self-hosted photo library cost per month?​

The software is free. The bill is the server, and it does not shrink.

OptionStorageRegular priceFirst 2 months
iCloud+ 200 GB200 GB$2.99/mon/a
iCloud+ 2 TB2 TB$9.99/mon/a
Liquid Web self-managed VPS, 4 GB80 GB SSD$17/mo$8.50/mo
Liquid Web self-managed VPS, 8 GB240 GB SSD$45/mo$22.50/mo
Liquid Web self-managed VPS, 16 GB440 GB SSD$90/mo$45/mo
Liquid Web managed VPS, 16 GB440 GB SSD$145/mo$72.50/mo

Apple's tiers come from apple.com/icloud and the VPS tiers from Liquid Web self-managed and Liquid Web managed, all fetched 2026-09-09. Liquid Web states the promotion as "Save 50% for 2 mos", so the regular column is what you pay from month three. Most roundups quote only the promotional number.

Google is left out of the price column on purpose. Every Google account includes up to 15 GB shared across Gmail, Drive and Photos (one.google.com/about/plans, checked 2026-09-09), but Google One renders its paid prices in the visitor's local currency, and our fetch resolved to a non-US currency. We are not going to reprint a dollar figure we did not see.

The 8 GB self-managed tier at $45/mo subject to change · verified 2026-09-09 is $540 a year for 240 GB. The 2 TB iCloud+ plan is $119.88 a year. You are paying roughly $420 more per year, before your own time, to hold about an eighth as much.

How much disk does an Immich library actually need?​

Take your current library size and multiply by 1.2. Immich's docs state that thumbnails and transcoded video "can expand library size by 10-20%" (docs.immich.app, checked 2026-09-09), and that is on top of the originals, not instead of them. Leave headroom for the OS, Docker images and Postgres.

A worked example on the largest tier: 440 GB of SSD, minus roughly 20 GB for the system and the stack, leaves about 420 GB. Divide by 1.2 and the ceiling is a library of roughly 350 GB of originals.

Correction to what this page used to say. The earlier version told you to add "a storage add-on" to a 16 GB VPS. Neither the managed nor the self-managed VPS page advertises a block-storage add-on (checked 2026-09-09). Treat 440 GB as the ceiling on these plans. A library past that needs a different product class, and at that size a 2 TB consumer plan is winning by an even wider margin.

What are Immich's real requirements?​

From the project's own requirements page, checked 2026-09-09.

RequirementWhat Immich says
RAMMinimum 6 GB, recommended 8 GB. 4 GB works only with machine learning disabled
CPUMinimum 2 cores, recommended 4
ArchitectureSince v3, amd64 needs x86-64-v2 or newer (most CPUs from about 2012 on)
FilesystemUnix-compatible with user/group ownership: EXT4, ZFS, APFS. Not NTFS, not exFAT or FAT32
DatabasePostgres on local SSD, "never a network share of any kind", and at least 2 GB RAM under Docker limits
RuntimeDocker with the Compose plugin. The old docker-compose binary is no longer supported

Our own deployment idled at about 1.2 GB of RAM on 2026-05-02, on Immich v1.132.3. Do not size from that number. Idle is not the constraint; upload bursts and the machine-learning job are, which is why the project asks for 6 GB it will not use most of the time. That measurement is also several major versions old. Current stable is v3.1.0, with v3.2.0-rc.3 in pre-release (releases, checked 2026-09-09), so we quote the requirements page rather than our stale reading.

Pick the tier for disk, not for RAM. The 8 GB VPS satisfies everything in the table above. The only reason to go to 16 GB is the jump from 240 GB to 440 GB of storage.

When should you stay on iCloud or Google Photos?​

Four cases where we tell readers not to do this.

  1. Your library fits in a $2.99 plan. 200 GB of iCloud+ is $2.99/month. The cheapest server that runs Immich properly is fifteen times that and needs patching.
  2. This would be your only copy. Self-hosting moves the backup obligation to you. A single VPS is not a backup, and neither is a single RAID array. If you have no offsite copy and no restore you have actually tested, a cloud provider is doing a job you are not yet doing.
  3. Nobody owns the box. Postgres upgrades, TLS renewal and Docker updates land on a named person. Without one, the honest answer is a consumer subscription.
  4. You want it to work on your family's phones with no explanation. Immich's apps are good, but you become the support desk.

When is self-hosting the right call?​

When the reason is not money. Immich gives you the originals on a filesystem you control, no scanning of your photos by a provider, local face and CLIP search, and access over LAN when the internet is down. If any of those is worth $420 a year to you, the arithmetic above is simply the price, and it is a fair one.

The other honest case is consolidation. If you already run a VPS for Authentik, Outline or anything else in the self-hosted catalogue, the marginal cost of Immich is a tier upgrade rather than a new server.

Which host, and what to read first​

Immich is a Docker Compose stack, so this is a plain VPS question. Start on the 8 GB self-managed tier unless your library already needs the disk, and read the Docker Compose in production guide and the VPS security hardening checklist before you expose it. Our self-hosting guide is written around scraping and automation stacks rather than photo libraries, but its hosting-provider comparison and operational checklist — versioned images, per-job resource limits, and testing a restore quarterly — carry over to any Docker Compose deployment.

Common questions​

Frequently Asked Questions

No. The cheapest Liquid Web VPS that meets Immich's own 8 GB RAM recommendation is $45/month at the regular rate for 240 GB of disk, against $9.99/month for 2 TB of iCloud+ (both checked 2026-09-09). Self-hosting is roughly 4.5 times the price for about an eighth of the storage. The reason to do it is control over your originals, not cost.

Only with machine learning disabled, which is what the docs say and which removes face recognition and CLIP search, the features most people self-host Immich for. The project asks for 6 GB minimum and recommends 8 GB (docs.immich.app/install/requirements, checked 2026-09-09).

Your originals multiplied by about 1.2. Immich's documentation states that thumbnails and transcoded video can expand library size by 10 to 20 percent. On the 440 GB tier, after the OS and the stack, that caps you at roughly 350 GB of originals.

Immich if the job is the phone camera roll: backup, timeline, face and object search. Nextcloud if the job is shared folders, desktop sync and documents. They are not competitors, and running both means two stacks and two databases on the same server.

Yes. It uses a Postgres build with vector search for CLIP and face embeddings, and the docs require the database on local SSD rather than any network share. Our deployment guide ships the exact image and the volume layout.