Immich - Przewodnik na start
Immich to samodzielnie hostowana platforma do zarządzania zdjęciami i filmami stanowiąca alternatywę dla Google Photos, skoncentrowaną na prywatności. Oferuje automatyczne tworzenie kopii zapasowych z urządzeń mobilnych, rozpoznawanie twarzy, inteligentne wyszukiwanie oraz współdzielone albumy. Wszystko działa na Twoim serwerze za pomocą Docker Compose, zapewniając Ci pełną kontrolę nad danymi.
Krok 1 – Sprawdź, czy Immich działa
Adres IP serwera oraz hasło użytkownika root znajdziesz w sekcji Server Information na karcie Overview swojego serwera w panelu klienta. Immich uruchamia się automatycznie po starcie serwera. Otwórz przeglądarkę i przejdź pod adres:
http://your.server.ip:2283Powinna wyświetlić się strona rejestracji Immich. Jeśli strona się nie ładuje, odczekaj 1-2 minuty, aż wszystkie kontenery zostaną uruchomione.
Przy pierwszym uruchomieniu wypełnij formularz, aby utworzyć konto administratora:
- Email – Twój adres e-mail (będzie używany jako login)
- Password – wybierz silne hasło
- First Name oraz Last Name
Kliknij Sign Up, aby utworzyć konto. Po zakończeniu rejestracji możliwość tworzenia nowych kont zostanie wyłączona. Dodatkowych użytkowników będzie mógł tworzyć wyłącznie administrator z poziomu panelu Administration.
Jeżeli serwer znajduje się za routerem VyOS w sieci prywatnej, połącz się przez VPN i uzyskaj dostęp do Immich za pomocą prywatnego adresu IP serwera (zalecane dla usług prywatnych) lub skonfiguruj przekierowanie portów (22 dla SSH, 2283 dla interfejsu WWW Immich oraz 80/443, jeśli konfigurujesz domenę z certyfikatem SSL).
Krok 2 – Zainstaluj aplikację mobilną (opcjonalnie)
Immich oferuje aplikacje mobilne umożliwiające automatyczne tworzenie kopii zapasowych zdjęć i filmów:
- iOS – pobierz Immich z App Store
- Android – pobierz Immich z Google Play lub F-Droid
W aplikacji wpisz adres URL swojego serwera i zaloguj się na utworzone wcześniej konto:
http://your.server.ip:2283W ustawieniach aplikacji włącz Background Backup, aby nowe zdjęcia i filmy były automatycznie przesyłane na serwer.
Krok 3 – Skonfiguruj domenę i SSL (opcjonalnie)
Aby uzyskać dostęp do Immich przez własną domenę z wykorzystaniem HTTPS:
- Utwórz rekord A w ustawieniach DNS swojej domeny, wskazujący na adres IP serwera.
- Poczekaj na propagację zmian DNS (zwykle kilka minut).
- Połącz się przez SSH i skonfiguruj Nginx jako reverse proxy z certyfikatem Let’s Encrypt:
Zastąp your-domain.com własną domeną. Certbot automatycznie skonfiguruje certyfikat SSL oraz odnowienia. Dyrektywa client_max_body_size umożliwia przesyłanie dużych plików wideo. Po zakończeniu konfiguracji zaktualizuj adres serwera w aplikacji mobilnej na https://your-domain.com.
Po instalacji
Fail2Ban – Ochrona przed atakami brute-force
Na serwerze jest już skonfigurowany Fail2Ban, który chroni usługę SSH przed atakami brute-force.
| Reguła | Maksymalna liczba prób | Czas blokady |
|---|---|---|
| SSH | 5 nieudanych logowań | 10 minut |
Przydatne polecenia:
# Sprawdź zablokowane adresy IP fail2ban-client status sshd # Odblokuj adres IP fail2ban-client set sshd unbanip 1.2.3.4Jeżeli przypadkowo zablokujesz sobie dostęp, połącz się z serwerem przez konsolę VNC dostępną w panelu klienta i odblokuj swój adres IP.
Zarządzanie przestrzenią dyskową
Zdjęcia i filmy są przechowywane w katalogu /opt/immich/upload/. Typowe zdjęcie z telefonu zajmuje 3-5 MB, natomiast filmy są znacznie większe. Immich tworzy również miniatury oraz dane wykorzystywane przez funkcje AI (około 20% dodatkowego miejsca). Aby sprawdzić wykorzystanie dysku:
df -h / du -sh /opt/immich/upload/Zarządzanie usługą
Immich działa jako usługa systemd wykorzystująca Docker Compose:
# Sprawdź status kontenerów cd /opt/immich && docker compose ps # Wyświetl logi cd /opt/immich && docker compose logs -f # Uruchom ponownie Immich systemctl restart immichAktualizacje
Aby zaktualizować Immich do najnowszej wersji:
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 -dPrzed wykonaniem aktualizacji zawsze sprawdź informacje o wydaniu, aby upewnić się, że nie wprowadzono zmian wymagających dodatkowych działań.
Kopie zapasowe
Tworząc kopię zapasową Immich, należy zabezpieczyć dwa elementy: katalog z plikami oraz bazę danych:
# Kopia zapasowa bazy danych docker exec -t immich_postgres pg_dumpall -c -U postgres > /opt/immich/db_backup.sql # Przywrócenie bazy danych (w razie potrzeby) cat /opt/immich/db_backup.sql | docker exec -i immich_postgres psql -U postgresZainstalowane oprogramowanie
| Komponent | Wersja |
|---|---|
| Ubuntu | 24.04 LTS |
| Docker | Najnowsza |
| Immich | Najnowsza |
| PostgreSQL | 14 (Docker) |
| Valkey (Redis) | 9 (Docker) |
| Fail2Ban | 1.0 |
Rozwiązywanie problemów
| Problem | Rozwiązanie |
|---|---|
| Interfejs WWW nie ładuje się po pierwszym uruchomieniu | Odczekaj 1-2 minuty, aż wszystkie kontenery zostaną uruchomione. Sprawdź ich status: cd /opt/immich && docker compose ps |
| Kontenery ciągle się restartują | Sprawdź logi: cd /opt/immich && docker compose logs –tail 50. Upewnij się, że serwer ma co najmniej 4 GB pamięci RAM |
| Aplikacja mobilna nie może połączyć się z serwerem | Sprawdź, czy adres serwera zawiera numer portu: http://your.server.ip:2283 |
| Brak wolnego miejsca na dysku | Wyczyść pamięć podręczną Dockera: docker system prune -a. W razie potrzeby zwiększ rozmiar dysku w panelu klienta |
| Adres IP został zablokowany przez Fail2Ban | Skorzystaj z konsoli VNC w panelu klienta, aby odblokować swój adres IP |
| Zapomniane hasło użytkownika root | Użyj konsoli VNC w panelu klienta, aby zresetować hasło |