Application hosting

Hosting Immich

High-performance self-hosted photo and video backup solution featuring on-device machine learning facial recognition, object detection, timeline scrubbing, and automated mobile syncing.

Min vCPU
Depends on workload
Min memory
Depends on workload
Min storage
Depends on workload

Must have

Hard prerequisites

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.

Recommended

Documented guidance

  • KVM VPS or Dedicated Bare Metal with at least 4 dedicated vCPUs and 8 GB RAM.Machine learning indexing and background CLIP analysis are CPU-intensive.
  • Fast NVMe storage for database and thumbnails; scalable block storage or object storage for raw photo/video assets.Thumbnails generate hundreds of thousands of small file IOPS.

Capacity depends on your workload

Immich runs multiple microservices: Server, Microservices worker, Machine Learning container, PostgreSQL with pgvector, and Redis. Idle memory footprint is approximately 1.5–2.0 GB, scaling up to 4–6 GB during heavy bulk ingestion.

We only compare what providers publish. A RAM figure alone can't confirm compatibility or production capacity.

Deploy with

Supported paths

  • Docker Compose (Official & recommended deployment method)
  • Kubernetes via community Helm charts
  • Proxmox LXC container (with Docker inside or native mounts)

The host must provide

Runtime

Docker Engine
>= 24.0
PostgreSQL with pgvector
>= 14 (vecto.rs/pgvecto.rs)
Redis
>= 7.0

Storage

Persistent data

Plan for two separate storage zones: (1) High-speed NVMe storage for PostgreSQL database, vector embeddings, and generated WebP thumbnails; (2) Scalable bulk storage for original RAW/JPEG files and MP4/MOV videos. Back up the PostgreSQL database and UPLOAD_LOCATION synchronously.

Step by step

Production deployment with Docker Compose

  1. Download official configuration files

    Create a dedicated directory /opt/immich, then download docker-compose.yml and example.env from the official Immich release repository.

    Official instructions
  2. Configure environment variables and upload path

    Copy example.env to .env. Set UPLOAD_LOCATION to your designated persistent data disk, configure DB_PASSWORD with a strong random string, and verify IMMICH_VERSION.

    Official instructions
  3. Start containers and configure reverse proxy

    Run docker compose up -d. Verify all containers (server, worker, redis, database, machine learning) are healthy via docker compose ps. Place Nginx or Caddy in front with SSL/TLS and client_max_body_size set to 50000M.

    Official instructions

Security

Before you go public

  • Never expose the raw port 2283 directly to the public internet without an authenticated reverse proxy (Nginx, Caddy, Cloudflare Tunnel, or Tailscale).
  • Enable HTTPS using Let's Encrypt with TLS 1.3 to protect mobile token transmission.
  • Configure password policies and OAuth/OIDC authentication if integrating with Authentik or Keycloak.

Cost

Beyond the server price

  • Compute cost: 4 vCPU / 8 GB RAM VPS starts at approximately $15–$25/month.
  • Storage cost: High-capacity NVMe or block storage costs between $0.05 and $0.10 per GB/month; consider Hetzner Storage Boxes or S3-compatible cold tiers for long-term archives.
  • Backup cost: Secondary offsite backup storage for large multi-terabyte photo libraries.

Matching plans

Plans with published evidence

DigitalOcean

CPU-Optimized Regular Droplet · 2 vCPU / 4 GiB

2vCPU
4 GiBRAM
25 GiBStorage
4 TBTransfer
  • Dedicated CPU
  • SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
DigitalOcean

General Purpose Droplet · 2 Dedicated vCPU / 8 GB

2vCPU
8 GBRAM
25 GBStorage
4 TBTransfer
  • Dedicated vCPU (100% allocatio...
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Google Cloud

Compute Engine e2-medium · 2 vCPU / 4 GB

2vCPU
4 GBRAM
—Storage
—Transfer
  • Shared vCPU (1.00 sustained)
  • Persistent Disk (billed separa...
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Google Cloud

Compute Engine e2-small · 2 vCPU / 2 GB

2vCPU
2 GBRAM
—Storage
—Transfer
  • Shared vCPU (0.50 sustained)
  • Persistent Disk (billed separa...
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CCX13 (Germany and Finland)

2vCPU
8 GBRAM
80 GBStorage
20 TBTransfer
  • Dedicated AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CCX23 (Germany and Finland)

4vCPU
16 GBRAM
160 GBStorage
20 TBTransfer
  • Dedicated AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CCX33 (Germany and Finland)

8vCPU
32 GBRAM
240 GBStorage
30 TBTransfer
  • Dedicated AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CCX43 (Germany and Finland)

16vCPU
64 GBRAM
360 GBStorage
40 TBTransfer
  • Dedicated AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CCX53 (Germany and Finland)

32vCPU
128 GBRAM
600 GBStorage
50 TBTransfer
  • Dedicated AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CCX63 (Germany and Finland)

48vCPU
192 GBRAM
960 GBStorage
60 TBTransfer
  • Dedicated AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CPX11 (US locations)

2vCPU
2 GBRAM
40 GBStorage
1 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.
Hetzner Cloud

Hetzner Cloud CPX12 (Germany and Finland)

1vCPU
2 GBRAM
40 GBStorage
20 TBTransfer
  • Shared AMD vCPU
  • NVMe SSD
Compatibility unclear from published plan data

Meeting documented runtime prerequisites does not prove production capacity. Traffic, workloads, software configuration, and shared host limits are not measured here.

  • 64-bit Linux host (Ubuntu 22.04/24.04 or Debian 12 recommended) with Docker Engine and Docker Compose v2.This prerequisite has no comparable published plan field.
  • x86_64 CPU with AVX/AVX2 instruction set support (or specialized CPU fallback build for older processors).This prerequisite has no comparable published plan field.
  • Minimum 4 GB RAM (8 GB+ strongly recommended if facial recognition and video transcoding run concurrently).This prerequisite has no comparable published plan field.
  • Persistent local SSD/NVMe volume or high-throughput NFS/ZFS array for photo storage and PostgreSQL database.This prerequisite has no comparable published plan field.

Want the full monthly bill? Use the hosting cost calculator. It keeps unknown charges visible.