O Immich
Open source'owa alternatywa dla Google Photos: Immich automatycznie kopiuje zdjęcia i filmy z telefonów na serwer, który sam kontrolujesz. Ma oś czasu, albumy udostępniane, wyszukiwanie po zawartości zdjęć, rozpoznawanie twarzy i mapę miejsc, w których zrobiono zdjęcia. Korzystają z niego osoby prywatne, które chcą zabrać swoje wspomnienia z chmury zza oceanu, a także rodziny, małe zespoły i fotografowie, którzy potrzebują jednej wspólnej biblioteki.
Po dostawie serwera skrypt cloud-init ma już za sobą instalację Docker Engine i wtyczki Compose z oficjalnego repozytorium Dockera. Pobrał też plik docker-compose.yml oraz przykładowy .env z najnowszego wydania Immicha do katalogu /opt/immich. Wygenerowane zostało losowe hasło do bazy danych, a kontenery są uruchomione. Interfejs webowy nasłuchuje na porcie 2283.
Konto administratora nie jest tworzone z góry: pierwszy zarejestrowany użytkownik zostaje administratorem. Przydatne informacje (adres URL, ścieżki, hasło do bazy) znajdziesz w pliku /tmp/credentials.txt, który może odczytać wyłącznie root.
Co możesz zrobić z Immich
Automatyczna kopia z telefonu
Aplikacje na iOS i Androida wysyłają zdjęcia i filmy na Twój serwer w tle. Sam wybierasz, które albumy mają być synchronizowane.
Inteligentne wyszukiwanie i twarze
Immich indeksuje zawartość obrazów, więc zdjęcie znajdziesz po opisie, a twarze grupuje według osób. Całe przetwarzanie odbywa się na Twoim serwerze, nie u osoby trzeciej.
Albumy i kontrolowane udostępnianie
Możesz tworzyć albumy współdzielone z innymi użytkownikami albo publiczne linki. Każdy członek rodziny ma własne konto i własną bibliotekę.
Oficjalny stos w Docker Compose
Wdrożenie opiera się na plikach publikowanych razem z najnowszym wydaniem Immicha i leży w
/opt/immich. Aktualizacja to dwa polecenia Compose.Dane w zwykłych katalogach
Biblioteka trafia do
/opt/immich/library, a baza PostgreSQL do/opt/immich/postgres. Kopia zapasowa lub migracja sprowadza się do skopiowania dwóch katalogów.Bezpieczne konto administratora
Nie powstają żadne domyślne dane logowania. Administratorem zostaje pierwszy zarejestrowany użytkownik, więc na wystawionym do sieci serwerze nie ma konta znanego każdemu.
Pierwsze kroki z Immich
Od zamówienia do produkcji w kilka minut.
- 1
Zamów VPS z Immichem
Wybierz VPS z Linuxem (Debian 12 lub 13, Ubuntu 22.04 lub 24.04) w Paryżu albo Frankfurcie i zaznacz Immich w zakładce Aplikacje formularza zamówienia. Zaplanuj dysk odpowiedni do biblioteki oraz co najmniej 6 GB RAM dla inteligentnego wyszukiwania.
- 2
Połącz się i odczytaj dane dostępowe
Gdy serwer zostanie dostarczony, zaloguj się przez SSH. Instalacja pobiera obrazy Dockera i może potrwać kilka minut, więc śledź ją w dzienniku. Potem odczytaj plik z informacjami i skopiuj go do menedżera haseł, ponieważ leży w katalogu /tmp.
Bashssh USER@SERVER_IP tail -n 20 /var/log/immich-auto-install.log sudo cat /tmp/credentials.txt - 3
Utwórz konto administratora
Otwórz w przeglądarce http://SERVER_IP:2283 i przejdź przez kreator powitalny. Pierwszy zarejestrowany użytkownik dostaje uprawnienia administratora. Następnie zainstaluj aplikację mobilną i wpisz adres serwera, aby włączyć kopię zapasową.
- 4
Zabezpiecz serwer przed realnym użyciem
Skieruj rekord DNS A domeny YOUR_DOMAIN na SERVER_IP, postaw przed portem 2283 reverse proxy z HTTPS i ogranicz liczbę otwartych portów. Zadbaj też o regularną kopię zapasową katalogów /opt/immich/library i /opt/immich/postgres.
Bashsudo ufw allow OpenSSH sudo ufw allow 80,443/tcp sudo ufw enable
Zastosowania Immich
Zamiast Google Photos lub iCloud
Importujesz dotychczasową bibliotekę i włączasz automatyczną kopię na telefonach. Zdjęcia zostają na serwerze w Europie, w Paryżu lub Frankfurcie.
Rodzinna galeria zdjęć
Każdy bliski ma własne konto, albumy i kopię z telefonu. Wspólne albumy zbierają zdjęcia z wakacji, bez przesyłania ich komunikatorem.
Archiwum dla fotografa amatora
Eksporty z aparatu trafiają do jednej, przeszukiwalnej osi czasu. Wyszukiwanie oraz grupowanie według osób i miejsc pozwala odnaleźć ujęcie w kilka sekund.
Środowisko testowe do self-hostingu
Sprawdzasz Immicha, zanim przeniesiesz dużą bibliotekę, albo uczysz się obsługi stosu Docker Compose z PostgreSQL. Serwer jest jednorazowy i łatwy do odtworzenia.
Najczęstsze pytania o Immich
Dokumentacja Immicha zaleca co najmniej 6 GB RAM i 2 rdzenie, przy czym lepiej mieć 4 rdzenie. Inteligentne wyszukiwanie i rozpoznawanie twarzy są wymagające, zwłaszcza podczas pierwszego importu dużej biblioteki. Dysk dobierz do ilości zdjęć i filmów.
Więcej o Immich
Co jest zainstalowane na serwerze
Wszystko leży w /opt/immich: plik docker-compose.yml, plik .env (uprawnienia 600, zawiera hasło do bazy), katalog library na zdjęcia i postgres na dane bazy. Dziennik instalacji znajdziesz w /var/log/immich-auto-install.log.
Polecenia Compose uruchamiaj z tego katalogu:
Bashcd /opt/immich docker compose ps docker compose logs -f immich-server
Włączanie HTTPS przez reverse proxy
Usługa odpowiada zwykłym HTTP na porcie 2283. Zanim połączysz z nią telefony spoza sieci lokalnej, postaw przed nią reverse proxy (Caddy, Nginx lub Traefik), które uzyska certyfikat dla YOUR_DOMAIN. W Caddy konfiguracja mieści się w kilku linijkach:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:2283
}
W Nginx pamiętaj o zwiększeniu client_max_body_size, inaczej wysyłanie dużych filmów zakończy się błędem.
Warto też wiedzieć, że Docker publikuje porty z pominięciem reguł UFW. Aby po uruchomieniu proxy port 2283 przestał być dostępny bezpośrednio, zmień w docker-compose.yml linię ports usługi immich-server, tak by nasłuchiwała na 127.0.0.1:2283, a następnie uruchom ponownie przez docker compose up -d.
Kopie zapasowe
Kopiować trzeba jednocześnie bibliotekę i bazę: jedno bez drugiego nie pozwala poprawnie odtworzyć danych. Najprościej zatrzymać kontenery, skopiować oba katalogi na zewnętrzny nośnik i uruchomić kontenery ponownie.
Bashcd /opt/immich docker compose stop tar -czf /root/immich-backup.tar.gz library postgres .env docker compose start
Przy dużej bibliotece lepiej użyć rsync na inną maszynę i przynajmniej raz sprawdzić odtworzenie z kopii. Kopia na tym samym dysku co serwer nie chroni przed awarią dysku.
Aktualizacje
Pobrane pliki odpowiadają wersji opublikowanej w chwili dostawy. Przed przejściem na nowszą przeczytaj notatki do wydania projektu, bo Immich rozwija się szybko, a niektóre wersje wymagają ręcznych zmian. Potem:
Bashcd /opt/immich docker compose pull docker compose up -d
Przed każdą większą aktualizacją zrób kopię zapasową. Więcej poradników o administrowaniu VPS-em znajdziesz w sekcji Learn, a szczegóły ofert na stronie VPS z Linuxem.
