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.1.0, 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.1.0
Machine learning 3.1.0
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, the server is powered off and held for 24 hours. A top-up in that window restarts it. Welcome-credit-only servers are deleted at zero, backups included, so keep a copy of your originals off the server.
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.1.0, so a restart or redeploy brings back the same build. Our re-pins reach new deployments only; yours stays put.
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.
Deploy Immich on the larger server, copy the library and a database dump across, then delete the old one. There is no in-place resize.
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 44 one-click configurations. Pricing is pay as you go against prepaid credits, with no tiers and no subscriptions.
Best for: Immich, Nextcloud, Paperless-ngx, MinIO and managed PostgreSQL, MySQL, Redis, ClickHouse, OpenSearch and Kafka.