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:
- Створіть A-запис у налаштуваннях DNS, що вказує домен на IP сервера
- Дочекайтеся оновлення DNS (зазвичай кілька хвилин)
- Підключіться через 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 від підбору паролів.
| Правило | Макс. спроб | Тривалість блокування |
|---|---|---|
| SSH | 5 невдалих входів | 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
Встановлене ПЗ
| Компонент | Версія |
|---|---|
| Ubuntu | 24.04 LTS |
| Docker | Остання |
| Immich | Остання |
| PostgreSQL | 14 (Docker) |
| Valkey (Redis) | 9 (Docker) |
| Fail2Ban | 1.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-консоль у клієнтській панелі |