Table of Contents

Immich — посібник для початку роботи

Immich — self-hosted платформа для керування фото й відео, орієнтована на приватність альтернатива Google Photos. Вона підтримує автоматичне резервне копіювання з мобільних пристроїв, розпізнавання облич, розумний пошук і спільні альбоми. Усе працює на вашому сервері через Docker Compose, тож ви повністю контролюєте свої дані.


Крок 1 — перевірте, що Immich працює

IP-адресу сервера й пароль root показано на сторінці Server Details у клієнтській панелі. Immich уже працює після запуску сервера. Відкрийте браузер і перейдіть за адресою:

http://your.server.ip:2283

Ви маєте побачити сторінку реєстрації Immich. Якщо сторінка не завантажується, зачекайте 1–2 хвилини, поки запустяться всі контейнери.

Під час першого відкриття заповніть форму, щоб створити обліковий запис адміністратора:

  • Email — ваша адреса email (використовується як логін)
  • Пароль — оберіть надійний пароль
  • First Name і Last Name

Натисніть Sign Up , щоб створити обліковий запис. Після реєстрації сторінка реєстрації вимикається — додаткових користувачів може створювати лише адміністратор у панелі Administration.

Якщо ви розмістили сервер за маршрутизатором VyOS у приватній мережі, підключайтеся через VPN до Immich за приватною IP сервера (рекомендовано для особистого сервісу) або налаштуйте переадресацію портів (порт 22 для SSH, порт 2283 для вебінтерфейсу Immich, порти 80/443, якщо налаштовуєте домен з SSL).


Крок 2 — встановіть мобільний застосунок (необовʼязково)

Immich має мобільні застосунки для автоматичного резервного копіювання фото й відео:

  • iOS — завантажте Immich з App Store
  • Android — завантажте Immich з Google Play або F-Droid

У застосунку введіть URL сервера й увійдіть зі створеним обліковим записом:

http://your.server.ip:2283

Увімкніть Background Backup у налаштуваннях застосунку, щоб автоматично вивантажувати нові фото й відео.


Крок 3 — налаштування домену та SSL (необовʼязково)

Щоб відкривати Immich через власний домен із HTTPS:

  1. Створіть A-запис у налаштуваннях DNS, що вказує домен на IP сервера
  2. Дочекайтеся оновлення DNS (зазвичай кілька хвилин)
  3. Підключіться через SSH і налаштуйте Nginx як зворотний проксі із сертифікатом Let’s Encrypt:
ssh root@your.server.ip
apt update && apt install -y nginx certbot python3-certbot-nginx

cat > /etc/nginx/sites-available/immich << 'EOF'
server {
    listen 80;
    server_name your-domain.com;
    client_max_body_size 50000M;

    location / {
        proxy_pass http://127.0.0.1:2283;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}
EOF

ln -s /etc/nginx/sites-available/immich /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx

certbot --nginx -d your-domain.com

Замініть your-domain.com на свій домен. Certbot налаштує SSL і автоматичне поновлення. Директива client_max_body_size дозволяє вивантажувати великі відеофайли. Після налаштування оновіть URL сервера в мобільному застосунку на https://your-domain.com.


Після встановлення

Fail2Ban — захист від підбору паролів

Сервер постачається з Fail2Ban , попередньо налаштованим для захисту SSH від підбору паролів.

Правило Макс. спроб Тривалість блокування
SSH5 невдалих входів10 хвилин

Корисні команди:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

Якщо ви випадково заблокували себе, підключіться через VNC-консоль у клієнтській панелі й розблокуйте свою IP.

Керування сховищем

Фото й відео зберігаються в /opt/immich/upload/. Типове фото з телефона займає 3–5 МБ, відео — значно більше. Immich також генерує мініатюри та ML-вектори (~20% додатково). Щоб перевірити використання диска:

df -h /
du -sh /opt/immich/upload/

Керування сервісами

Immich працює як сервіс systemd через Docker Compose:

# Check container status
cd /opt/immich && docker compose ps

# View logs
cd /opt/immich && docker compose logs -f

# Restart Immich
systemctl restart immich

Оновлення

Щоб оновити Immich до останньої версії:

cd /opt/immich
curl -fsSL https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml -o docker-compose.yml
docker compose pull
docker compose down && docker compose up -d

Завжди перевіряйте примітки до випуску перед оновленням, щоб не пропустити несумісні зміни.

Резервні копії

Робіть резервні копії двох речей: папки вивантажень і бази даних:

# Database backup
docker exec -t immich_postgres pg_dumpall -c -U postgres > /opt/immich/db_backup.sql

# Database restore (if needed)
cat /opt/immich/db_backup.sql | docker exec -i immich_postgres psql -U postgres

Встановлене ПЗ

Компонент Версія
Ubuntu24.04 LTS
DockerОстання
ImmichОстання
PostgreSQL14 (Docker)
Valkey (Redis)9 (Docker)
Fail2Ban1.0

Усунення проблем

Проблема Рішення
Вебінтерфейс не завантажується після першого запуску Зачекайте 1–2 хвилини, поки запустяться контейнери. Перевірте: cd /opt/immich && docker compose ps
Контейнери постійно перезапускаються Перевірте логи: cd /opt/immich && docker compose logs --tail 50. Переконайтеся, що маєте щонайменше 4 ГБ RAM
Мобільний застосунок не може підключитися Переконайтеся, що URL сервера містить порт: http://your.server.ip:2283
Закінчилося місце на диску Очистьте кеш Docker: docker system prune -a. Розгляньте збільшення диска в клієнтській панелі
Заблоковано Fail2Ban Розблокуйте свою IP через VNC-консоль у клієнтській панелі
Забули пароль root Скиньте його через VNC-консоль у клієнтській панелі