When Google Photos or Ente is the better choice
Ente Photos is the better answer for private backup without a server: open source, end to end encrypted, with a free tier. Past a terabyte, Google's large plans cost less.
Immich 3.2.4, the open source photo and video library, deploys in one click on a dedicated server Selfhost.dev provisions, secures and runs, across six locations on three continents.
Immich is the open source answer to Google Photos: phone backup, shared albums, faces grouped into people and search that understands "beach". Immich hosting runs it on a server rented in your name, originals kept as shot.
Households past a free 15 GB allowance and photographers who refuse to let an upload re-encode anything.
When the library matters more than the cheapest gigabyte. For the cheapest terabyte, the Google Photos section below names who sells it.
The Immich Docker Compose guide leaves you a compose file, an .env to fill in, a Postgres to keep on local SSD plus a proxy and certificate to add. On this template all of it is done before first boot, the same way every time.
Your phone app and your browser
TLS and routing
Immich server 3.2.4
Machine learning 3.2.4
Postgres 14 + VectorChord
Valkey 9
| What the Docker guide has you do | On this template |
|---|---|
Download the compose file and .env | Written in, every image pinned |
Set DB_PASSWORD | Generated before first boot |
Choose UPLOAD_LOCATION | The library volume, on local NVMe |
| Use Immich's Postgres, not stock | Its VectorChord image; stock Postgres fails the migrations |
| Wire the containers together | By internal name; only the web app is public |
| Put a proxy, HTTPS and a firewall in front of port 2283 | TLS renewed for you; ports 22, 80 and 443 only |
Immich needs 6 GB of RAM at minimum and recommends 8 GB. The 4 GB some guides quote runs Immich only with machine learning switched off. This template sizes to 8 GB, so face recognition and smart search both stay on.
Pick a size and one of six locations. The 8 GB server is Immich's recommendation, with 80 GB of disk.
The template deploys in about 20 minutes, then the console shows its HTTPS address.
The first account becomes the administrator and sign up closes behind it. Until then, anyone who reaches the address could claim it. Then point the Immich app at your URL and turn on backup.
Immich is free, with no paid tier, so Immich hosting cost is one server rate, billed by the hour against prepaid credits. Users, uploads and bandwidth add nothing. The choice that matters is disk, because the server's disk is the ceiling for your library.
| Item | Cost |
|---|---|
| Immich, its machine learning and its database | $0 |
| HTTPS and a custom domain | $0 |
| Users and family members you share with | $0 |
| Bandwidth | $0, no traffic metering on a template project |
| Backups | Optional, +20% of the server rate |
| Server | Disk | Room for originals | Where | Rate | About a month |
|---|---|---|---|---|---|
cx33 8 GB (recommended) | 80 GB | about 60 GB | Europe | $0.03/hr | $23.36 |
cax21 8 GB ARM | 80 GB | about 60 GB | Europe | $0.04/hr | $29.20 |
cx43 16 GB | 160 GB | about 130 GB | Europe | $0.06/hr | $43.22 |
ccx13 8 GB | 80 GB | about 60 GB | US | $0.16/hr | $119.28 |
cpx32 8 GB | 160 GB | about 130 GB | Singapore | $0.19/hr | $135.63 |
60 GB is roughly 12,000 to 20,000 phone photos. Monthly at 730 hours.
With a card on file or a past top-up, Immich keeps running for 5 days after your balance reaches zero. Then it is stopped and kept for 24 hours before it is deleted; a top-up in that time restarts it. After the delete, a copy of the server is kept for 14 days and you can restore the project from the Projects page. We email you when the balance reaches zero and again when it stops. Welcome-credit-only servers are deleted at zero, with a 3-day copy if the project went live. Keep a copy of your originals off the server too.
This page answers what Immich costs. The calculator answers what everything costs, in your region, with no signup.
Google sells storage for far less per gigabyte than any server can. Its first 15 GB are free, shared with Gmail and Drive. If price per gigabyte is all that matters, buy from Google. Immich hosting wins on what happens to your file.
| Google Photos | Immich on this template | |
|---|---|---|
| Your original | "Storage saver", most people's setting, shrinks photos above 16 MP and caps video at 1080p, for good | Stored as uploaded; no lossy mode |
| Faces and search | On Google's servers | In a container on your server |
| Getting it all out | Takeout, hours or days to prepare | Plain files, copied off any time |
| Price | Set by Google | A published hourly rate |
Ente Photos is the better answer for private backup without a server: open source, end to end encrypted, with a free tier. Past a terabyte, Google's large plans cost less.
Immich ships often and an update can run a database migration that cannot be undone. This template pins Immich to 3.2.4, so a restart or redeploy brings back the same build. When we ship a newer Immich, the console shows Update available and you choose when to upgrade.
Moving up is your call:
Read the Immich changelog.
Back up.
Deploy the newer template and move the library across.
None of these a dealbreaker? The template deploys in about 20 minutes.
Launch ImmichImmich backup and restore comes down to the database and your originals; thumbnails and video transcodes rebuild from them. This template offers a daily whole-server image and Immich writes its own database dumps. Your originals are plain files you can copy anywhere.
| Layer | What it covers | Where it lives |
|---|---|---|
| Daily server backup (+20%) | Everything on the server, last 7 kept | With the server, deleted with it |
| Immich's database dumps | The database, on Immich's schedule | In Immich's upload folder |
| Your own copy | Originals, over SSH with your key | A NAS, another server, object storage |
Export with Google Takeout, then import with immich-go, a community tool (not written by Immich or by us) that you run against your own Immich. It keeps dates, GPS and albums. A large Takeout can take Google days to prepare; check it fits the disk.
Scale up now in Project Settings moves the server to a bigger size with the library and database on it, after a short downtime. The bigger disk is permanent.
Send your library size and how much is video. We reply with the server it fits and its monthly cost in your region. One reply, from a person.
Yes. Immich is free and open source, with no paid tier and no paywalled features. Its optional one-time product key funds development and adds no features; we neither require nor resell it. Here you pay only for the server Immich runs on. See pricing.
A one-click template. This one starts Immich with its own vector Postgres, a generated database password and HTTPS on a dedicated server, with optional daily whole-server backups. You register the first account and connect the phone app; the server side is done.
At least 6 GB. Immich recommends 8 GB. The 4 GB some guides quote works only with machine learning off, which removes face recognition and smart search. This template runs Immich on an 8 GB server, so both stay on.
No. The machine learning container runs on your server, downloads its models once and keeps them in that machine's memory. The faces it learns and the search index stay on the box you pay for. A large first import runs for hours on CPU.
Selfhost.dev runs managed PostgreSQL, MySQL, Redis, ClickHouse, OpenSearch and Kafka on AWS, plus Projects: a dedicated server where you deploy from GitHub or from 48 one-click configurations. Pricing is pay as you go against prepaid credits, with no tiers and no subscriptions.
Best for: Immich, Nextcloud, Paperless-ngx and managed PostgreSQL, MySQL, Redis, ClickHouse, OpenSearch and Kafka.