Replace Google Photos with Self-Hosted Immich
Self-hosted photo and video backup with mobile apps, face recognition and smart search. Instead of paying $0/mo for a 10-person team on Google Photos (free 15 GB per Google account; paid Google One plans from $1.99/mo, US), you can self-host Immich on a €8.99/mo Linux VPS (EUR, excl. VAT) and keep full control of your data.
1-to-100 Seat Total Cost of Ownership (TCO) Table
Comparing Google Photos (free 15 GB per Google account; paid Google One plans from $1.99/mo, US) vs self-hosted Immich on a Hetzner CX33 (8GB RAM / 4 vCPU).
| Team Size | Google Photos Cost (USD) | Immich Server (EUR, billed separately) | SaaS Spend Dropped (USD/yr, before server) |
|---|---|---|---|
| 1 Seat (Solo) | $0.00/mo ($0/yr) | €8.99/mo (CX33, EUR excl. VAT) | $0 / year |
| 5 Seats | $0.00/mo ($0/yr) | €8.99/mo (CX33, EUR excl. VAT) | $0 / year |
| 10 Seats | $0.00/mo ($0/yr) | €8.99/mo (CX33, EUR excl. VAT) | $0 / year |
| 25 Seats | $0.00/mo ($0/yr) | €8.99/mo (CX33, EUR excl. VAT) | $0 / year |
| 50 Seats | $0.00/mo ($0/yr) | €8.99/mo (CX33, EUR excl. VAT) | $0 / year |
| 100 Seats | $0.00/mo ($0/yr) | €8.99/mo (CX33, EUR excl. VAT) | $0 / year |
Server prices are Hetzner's EUR/mo, excl. VAT, incl. IPv4, Germany/Finland list prices and are not subtracted from the USD figures.
Prices last checked: 31 Oct 2026
Production Docker Compose + Caddy Auto-SSL
Copy and run docker compose up -d on any Ubuntu 24.04 server.
# Production Docker Compose: Immich (Replaces Google Photos)
services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
networks:
- stack_net
# Immich v3.3.5: services from the official release docker-compose.yml
# https://github.com/immich-app/immich/releases/download/v3.3.5/docker-compose.yml
# StackSwitcher changes: IMMICH_VERSION default pinned to v3.3.5, services joined to stack_net so Caddy can reach them.
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-v3.3.5}
volumes:
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
networks:
- stack_net
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-v3.3.5}
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
healthcheck:
disable: false
networks:
- stack_net
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9@sha256:c123e3715db63d06d4ad6964884037aa0d5d4d703939b9929954112889708e1d
healthcheck:
test: redis-cli ping | grep -q PONG || exit 1
restart: always
networks:
- stack_net
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
healthcheck:
disable: false
networks:
- stack_net
networks:
stack_net:
driver: bridge
volumes:
caddy_data:
model-cache:
# Automatic Let's Encrypt HTTPS for Immich
photos.{$DOMAIN:yourdomain.com} {
encode zstd gzip
reverse_proxy immich-server:2283
}
Why Teams Switch to Immich
- ✓Official iOS and Android apps with background backup
- ✓Machine-learning container for face recognition and smart search
- ✓Official docs ask for 6 GB RAM minimum, 8 GB recommended
ghcr.io/immich-app/immich-server:v3.3.5
Deploy Immich in 60 Seconds
Sized automatically for Immich (6144MB container RAM + OS overhead).
Get All 16 Pre-Built Production Stacks + Encrypted S3 Backups
Includes pre-tuned docker-compose.yml, Caddy Auto-SSL, AES-256 encrypted nightly S3/R2 Postgres backups, and Ubuntu 24.04 UFW/Fail2ban hardening scripts.
Data last updated: . How we check • Changelog • Open dataset (CC BY 4.0)
Config templates are MIT licensed and provided "AS IS", with no warranty of any kind and no liability. Prices and specs are informational estimates from our dataset, so check the vendor and project sites before you decide. See the Terms & No Warranty disclaimer.