Установка Immich: Самостоятельно размещаемое резервное копирование фото и видео
Установка Immich через Docker, автоматическое резервное копирование фото и видео, распознавание лиц, вид на карте, общие альбомы, мобильное приложение и self-hosted альтернатива Google Photos.
Содержание
Установка Immich: Самостоятельно размещаемое резервное копирование фото и видео
Immich — это self-hosted платформа для резервного копирования фото и видео, разработанная как open-source альтернатива Google Photos. Предлагает современные функции: автоматическое резервное копирование через мобильные приложения, распознавание лиц, вид на карте и общие альбомы.
Что такое Immich?
Immich позволяет хранить коллекцию фото и видео на собственном сервере:
- Автоматическое резервное копирование: Фоновое копирование через приложения iOS и Android
- Распознавание лиц: Автоматическое обнаружение и группировка лиц с помощью машинного обучения
- Вид на карте: Просмотр фотографий на карте по GPS-данным
- Общие альбомы: Обмен альбомами с семьёй и друзьями
- Хронология: Хронологический просмотр фотографий
- Поиск: Умный поиск по объектам, сценам и тексту
Системные требования
- Docker и Docker Compose
- Минимум 4 ГБ RAM (рекомендуется 8 ГБ для ML-моделей)
- Достаточно дискового пространства
- PostgreSQL 14+ (устанавливается автоматически через Docker Compose)
Установка через Docker
version: '3.8'
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- "2283:2283"
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: redis:6.2-alpine
restart: always
database:
container_name: immich_postgres
image: tensorchord/pgvecto-rs:pg14-v0.2.0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
volumes:
pgdata:
model-cache:
Файл .env
UPLOAD_LOCATION=/data/immich/upload
DB_PASSWORD=StrongPass123!
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
mkdir -p /data/immich/upload
docker compose up -d
docker logs immich_server -f
Доступ к веб-интерфейсу Immich: http://IP_СЕРВЕРА:2283. При первом входе необходимо создать учётную запись администратора.
Nginx Reverse Proxy
server {
listen 443 ssl http2;
server_name photos.example.com;
ssl_certificate /etc/letsencrypt/live/photos.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/photos.example.com/privkey.pem;
client_max_body_size 50000M;
location / {
proxy_pass http://127.0.0.1:2283;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
}
}
Настройка мобильного приложения
- Скачайте "Immich" из App Store или Google Play
- Введите URL сервера:
https://photos.example.com - Войдите с именем пользователя и паролем
- Настройте параметры автоматического резервного копирования
Внешняя библиотека
services:
immich-server:
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /mnt/photos:/mnt/photos:ro
Резервное копирование
# Резервное копирование базы данных
docker exec immich_postgres pg_dumpall -U postgres | \
gzip > /backups/immich-db-$(date +%Y%m%d).sql.gz
# Резервное копирование директории загрузок
rsync -avz /data/immich/upload/ /backups/immich-upload/
Обновление
docker exec immich_postgres pg_dumpall -U postgres > immich-backup.sql
docker compose pull
docker compose up -d
Immich находится в активной разработке. Крупные обновления версий могут содержать несовместимые изменения. Всегда делайте резервную копию базы данных перед обновлением и читайте release notes.
Заключение
Immich — мощная self-hosted альтернатива Google Photos. С 8 ГБ RAM на серверах REXE вы можете управлять тысячами фотографий без проблем.
Связанные статьи
Установка Coolify: Развёртывание приложений с Self-Hosted PaaS
Установка Coolify, интеграция Docker и Git, развёртывание приложений, управление базами данных, SSL-сертификаты, переменные окружения и self-hosted PaaS как альтернатива Heroku/Netlify.
Установка Nextcloud: Self-Hosted облачное хранилище и совместная работа
Установка Nextcloud с Docker, настройка Apache/Nginx, установка базы данных, SSL-сертификат, синхронизация файлов, магазин приложений и оптимизация производительности.
Управление Docker с Portainer: Веб-интерфейс для контейнеров
Установка Portainer CE, управление Docker и Kubernetes, развёртывание стеков, управление томами/сетями, авторизация пользователей, вебхуки и интеграция GitOps.