Immich на VPS: self-hosted бэкап фото как Google Photos — иллюстрация к статье Storm Cloud Blog, категория DevOps
Immich на VPS: self-hosted бэкап фото как Google Photos — иллюстрация к статье Storm Cloud Blog, категория DevOps
DevOps·4 мин··

Immich на VPS: self-hosted бэкап фото как Google Photos

Immich на VPS: Docker Compose, ML face recognition, mobile backup, PostgreSQL + Redis. Приватное облако для семейных фото.

Краткий ответ: Immich — open-source Google Photos: auto-upload с телефона, timeline, albums, face/search ML. VPS 4 GB + большой диск: official docker-compose, PostgreSQL, Redis, SSL.

Фото семьи не должны уезжать в чужое облако. Immich на вашем VPS + backup 3-2-1 = privacy + control.


Immich vs Nextcloud Photos vs Google Photos

Immich Nextcloud Google Photos
Mobile UX Отличный Средний Эталон
ML search Да (local) Plugins Cloud AI
Self-hosted Да Да Нет
RAM 4 GB+ 2 GB+ N/A

Для файлов — Nextcloud. Для фото-first UX — Immich.


Требования

Минимум Комфорт
RAM 4 GB 8 GB (ML)
Disk 100 GB 1 TB+
CPU 2 vCPU 4 vCPU (face recognition)
Uplink 10 Mbps+ 100 Mbps для initial sync

ML container (machine learning) — самый прожорливый. На 4 GB отключите optional models или limit workers.


Установка (official compose)

mkdir immich && cd immich
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
# Отредактируйте UPLOAD_LOCATION, DB_PASSWORD, IMMICH_VERSION
docker compose up -d

Порт 2283 — за Nginx + HTTPS photos.example.com.


.env ключевые параметры

UPLOAD_LOCATION=./library
DB_DATA_LOCATION=./postgres
IMMICH_VERSION=release
DB_PASSWORD=long_random_password

UPLOAD_LOCATION на отдельном volume — легче расширять диск.


Reverse proxy

location / {
  proxy_pass http://127.0.0.1:2283;
  proxy_set_header Host \$host;
  client_max_body_size 50000M;
  proxy_request_buffering off;
}

Большие video upload — нужен client_max_body_size и timeout 3600s.


Mobile backup

  1. App Store / F-Droid → Immich
  2. Server URL: https://photos.example.com
  3. Enable background backup (WiFi only recommended)
  4. Select albums / entire gallery

Первый sync 50 GB — часы/days. Планируйте uplink и disk.


ML и face recognition

Immich microservices:

  • immich-machine-learning — CLIP, face detection
  • Первый import — длительная индексация

На слабом VPS:

# .env — reduce load
MACHINE_LEARNING_ENABLED=true
# или временно false до upgrade RAM

Multi-user семья

Admin создаёт users для членов семьи. Shared albums для events. External library — optional read-only folders.

SSO — Authentik OIDC (advanced).


Бэкапы (критично!)

Фото — irreplaceable data.

# Stop для consistent backup (или use pg_dump online)
docker compose stop
tar czf immich-library-$(date +%F).tar.gz ./library
docker compose exec database pg_dump -U postgres immich > immich-db.sql
docker compose start

Offsite:

  • Restic → S3/MinIO
  • Second VPS geo-redundant
  • External HDD monthly

Тест restore: поднять Immich на staging VPS из backup.


Мониторинг

  • Disk: df -h alert 80%
  • Uptime Kuma
  • docker compose ps — all healthy
  • Logs: docker compose logs -f immich-server

Hardening

  • HTTPS only, HSTS
  • Strong passwords, 2FA when available
  • Fail2ban
  • Admin UI не в open internet без VPN (Tailscale) — optional paranoia mode
  • Regular updates: docker compose pull && up -d

Типичные проблемы

Проблема Fix
Upload stuck proxy buffer off, body size
ML OOM More RAM or disable ML
Duplicate photos Immich dedup settings
Slow timeline DB index, SSD disk
App can’t connect SSL cert, trusted URL

Community: GitHub immich-app/discussions.


Стоимость vs iCloud

iCloud 2 TB ~€10/мес. VPS 4 GB + 500 GB disk — фиксированно, unlimited users. Окупается для семьи 3+ человек.


Связка с экосистемой


Итог

Immich на VPS — лучший self-hosted Google Photos в 2026. Docker official stack, mobile backup, ML search, strict backup discipline.

VPS 4 GB+ — StormNet Cloud. Storage strategy — Restic + правило 3-2-1.

Частые вопросы

Immich или Nextcloud для фото с телефона?

Immich — лучший mobile UX и ML search как Google Photos. Nextcloud — универсальное облако, фото вторично.

Сколько места нужно Immich на VPS?

Зависит от объёма фото/видео. Планируйте 2–3× текущего размера галереи + рост. ML metadata — доп. место на SSD.