Immich logo

Immich

✓ Verified FOSSAGPL-3.0
Top open-source alternative to Google Photos / Apple Photos

High performance self-hosted photo and video management solution.

Tech StackTypeScript, Flutter, Python, PostgreSQL with pgvector, Redis
Self-Host DifficultyMedium
License ModelAGPL-3.0
GitHub Repositoryimmich-app/immich

Recommended VPS & Hardware Sizing

Estimated Hosting: $10 - $15/mo (e.g. Hetzner CPX21 or Linode)
Min RAM:2 GB
Rec RAM:4 GB
Compute:2 vCPU
Disk Space:25 GB SSD

Immich vs Google Photos / Apple Photos Comparison Matrix

Evaluation CriteriaImmich (Open Source)Google Photos / Apple Photos (Proprietary)
Privacy & Training100% On-Premise; zero external telemetryPhotos scanned for cloud advertising/AI models
Storage Fees$0 software license; unlimited disk capacity$9.99/mo per 2TB ongoing rental
CompressionPixel-perfect RAW & 4K 60FPS original fidelityForced lossy compression on free/budget tiers
Multi-User SharingUnlimited multi-tenant family accountsPer-account Google One family limits
INTERACTIVE TCO MODELEstimated Rate: $6/user/mo

Financial Impact: Migrating from Google Photos / Apple Photos to Self-Hosted Immich

Detailed Stack Calculator →
5 Users (Early Startup)50 Users (Scaleup)200 Users (Enterprise Org)
Google Photos / Apple Photos (Cloud SaaS)Per-Seat Tax
$1,800per year ($150/mo)
3-Year Spend:$5,400

* Excludes enterprise SSO add-ons & usage overages

Immich (Self-Hosted)Zero Per-Seat Fee
$120per year ($10/mo Linux VPS)
3-Year Compute:$360

* Commodity Hetzner / DigitalOcean compute instance

Cumulative 3-Year ROI+$5,040Net savings across 36 months (93% reduction)
Annual Free Cash:+$1,680/yr
Need C-Level Buy-In? Generate an instant ROI proposal memo to present to your CTO or CFO.

Core Capabilities & Features

✓Auto-backup from iOS and Android background apps
✓Local Facial Recognition and Clustering using Machine Learning
✓Semantic Natural Language Search (e.g. 'sunset at beach')
✓Interactive World Map with reverse geocoded coordinates
✓Shared Partner Albums and Shared Links with expiration
✓Original RAW image preservation with zero cloud compression

Self-Host Immich with Docker Compose

Tweak configuration ports, secrets, and volumes live. Download or copy your ready-to-run container file:

1-Click Docker Compose Generator

Generate production-ready container definitions with customizable ports and volumes.

ImmichAGPL-3.0

High performance self-hosted photo and video backup solution with on-device machine learning

Difficulty: Medium116,112 ⭐
Configure Parameters
docker-compose.immich.yml
version: '3.8'

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh" ]
    volumes:
      - ${UPLOAD_LOCATION:-./library}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      - NODE_ENV=production
      - DB_HOSTNAME=immich-database
      - DB_USERNAME=${DB_USERNAME:-postgres}
      - DB_PASSWORD=${DB_PASSWORD:-postgres_password}
      - DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich}
      - REDIS_HOSTNAME=immich-redis
    ports:
      - "${SERVER_PORT:-2283}:2283"
    depends_on:
      - immich-redis
      - immich-database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    volumes:
      - model-cache:/cache
    restart: always

  immich-redis:
    container_name: immich_redis
    image: redis:6.2-alpine
    restart: always

  immich-database:
    container_name: immich_database
    image: tensorchord/pgvecto-rs:pg14-v0.2.1
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres_password}
      POSTGRES_USER: ${DB_USERNAME:-postgres}
      POSTGRES_DB: ${DB_DATABASE_NAME:-immich}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

volumes:
  model-cache:
  pgdata:

Frequently Asked Questions: Self-Hosting Immich

How do I self-host Immich using Docker Compose?

You can deploy Immich (immich-app/immich) on any Linux server by copying the docker-compose.yml template on this page, configuring your desired host port and persistent volume directory, and running 'docker compose up -d'.

How does Immich compare to Google Photos / Apple Photos?

Immich is an open-source, self-hosted alternative to Google Photos / Apple Photos built with TypeScript, Flutter, Python, PostgreSQL with pgvector, Redis. Unlike Google Photos / Apple Photos ($2.99 - $9.99 / month (Google One / iCloud)), Immich has zero per-user licensing fees and keeps 100% of your data on your own infrastructure.

What are the minimum VPS RAM and CPU requirements for Immich?

For production self-hosting (Medium difficulty tier), we recommend at least 4 GB RAM (minimum 2 GB), 2 vCPU, and 25 GB SSD storage, which typically costs $10 - $15/mo (e.g. Hetzner CPX21 or Linode).

Is Immich free for commercial business use under the AGPL-3.0 license?

Yes. Distributed under the AGPL-3.0 license, Immich can be self-hosted internally by businesses and engineering teams of any size without per-seat royalties.

README INTEGRATION // REPO EMBED

Embed Official Immich Badge in GitHub README

Served locally from OSSMatrix with Cloudflare global edge caching. Real-time verified alternative status, zero third-party dependencies, sub-5ms load time.

Live Preview:Immich Badge
Markdown Embed (GitHub / GitLab)
[![OSSMatrix Alternative](https://ossmatrix.com/api/badge/immich)](https://ossmatrix.com/project/immich)
HTML Embed (Docs / Landing Pages)
<a href="https://ossmatrix.com/project/immich" target="_blank" rel="noopener noreferrer"><img src="https://ossmatrix.com/api/badge/immich" alt="Immich on OSSMatrix" /></a>
SIMILAR REPOSITORIES // PEER COMPARISON

Compare Immich with Other Self-Hosted Alternatives

All Google Photos / Apple Photos Alternatives →