Immich na własnym serwerze: zamiennik Zdjęć Google
Immich w Dockerze krok po kroku: wymagania, compose, dostęp z telefonu, kopie bazy i zdjęć, ile miejsca na Twoją galerię i porównanie z Google One i iCloud+.
Redakcja serwisu Dealownia · ceny i fakty ze stron dostawców, jak sprawdzamy
Darmowe 15 GB w Google kończy się po kilku latach robienia zdjęć telefonem i wtedy zostaje abonament albo kasowanie. Immich to aplikacja do samodzielnego hostowania, która robi to samo co Zdjęcia Google: aplikacja na telefon wysyła zdjęcia w tle, a na serwerze masz oś czasu, albumy, udostępnianie i wyszukiwanie. Rachunek wygląda tak: zamiast abonamentu płacisz za dysk, prąd albo serwer – i za kopię zapasową, bo od teraz to Ty odpowiadasz za to, żeby zdjęcia nie zniknęły.
Wymagania według dokumentacji
| Zasób | Minimum | Zalecane | Uwagi |
|---|---|---|---|
| RAM | 6 GB | 8 GB | na 4 GB Immich ruszy, jeśli wyłączysz uczenie maszynowe (wyszukiwanie i rozpoznawanie twarzy) |
| CPU | 2 rdzenie | 4 rdzenie | |
| System | Linux 64-bit (Ubuntu, Debian) | inne systemy dokumentacja „zdecydowanie odradza” | |
| Dysk na zdjęcia | tyle, ile ma biblioteka + 10–20% | system plików uniksowy (ext4, ZFS) | |
| Dysk na bazę | lokalny, najlepiej SSD | nigdy udział sieciowy | |
| Docker | wtyczka Compose (docker compose) |
stare docker-compose nie jest obsługiwane |
Z tych liczb wynika, gdzie Immich ma najwięcej sensu: na domowym mini PC albo NAS-ie z dużym dyskiem. Na VPS-ie RAM się znajdzie, ale setki gigabajtów dysku podnoszą cenę planu. Jeśli wybierasz sprzęt do domu, zajrzyj do poradnika mini PC do homelabu; plany VPS z większą pamięcią porównasz w rankingu VPS.
Ile miejsca na Twoją galerię
Nie ma jednej średniej wielkości zdjęcia – zależy od telefonu, formatu (HEIC, JPEG) i tego, ile nagrywasz filmów. Policz na własnych danych:
Rozmiar galerii odczytasz w ustawieniach pamięci telefonu albo w panelu obecnej chmury. Współczynnik 1,2 bierze się z dokumentacji Immich: miniatury i przekodowane filmy powiększają bibliotekę o 10–20%.
Przykład rachunku (założenie, nie pomiar): 20 000 zdjęć po średnio 3 MB to 60 GB, z zapasem na miniatury ok. 72 GB. Do tego filmy – policz je osobno, bo to one zwykle decydują o rozmiarze galerii; telefon pokazuje ich łączny rozmiar w ustawieniach pamięci. Dodaj zapas na kilka lat przyrostu: sprawdź, o ile galeria urosła w ostatnim roku.
Immich czy abonament
Ceny ze stron producentów, sprawdzone 12.11.2026, płatność miesięczna:
| Usługa | Pojemność | Cena miesięcznie |
|---|---|---|
| Google (bez abonamentu) | 15 GB | 0 zł |
| Google One Basic | 100 GB | 8,99 zł |
| Google AI Plus | 2 TB | 46,99 zł |
| Google AI Pro | 5 TB | 97,99 zł |
| iCloud+ | 50 GB | 4,99 zł |
| iCloud+ | 200 GB | 14,99 zł |
| iCloud+ | 2 TB | 49,99 zł |
| iCloud+ | 6 TB | 149,99 zł |
Google podaje, że płatność roczna pozwala zaoszczędzić do 16%, a Apple – że każdy pakiet iCloud+ można bez dopłat udostępnić pięciu członkom rodziny. Na stronie Google w dniu sprawdzenia nie było osobnego planu 200 GB.
Własny Immich wygrywa przy dużej bibliotece (setki GB i więcej), gdy masz już domowy serwer albo NAS i dyski. Jeśli galeria mieści się w 100–200 GB, a serwer i dyski trzeba by dopiero kupić, abonament za 8,99–14,99 zł miesięcznie trudno przebić – zwłaszcza że do kosztu Immich doliczasz:
- dysk na bibliotekę i drugi nośnik albo usługę na kopię (koszt 1 TB kopii poza domem liczymy w poradniku ile kosztuje 1 TB kopii poza serwerem);
- prąd, jeśli serwer stoi w domu (wzór w poradniku o mini PC);
- Twój czas na aktualizacje i sprawdzanie kopii.
Wersję z wynajętym serwerem zamiast domowego policzysz w kalkulatorze self-hosting czy abonament: Immich wymaga według dokumentacji co najmniej 6 GB RAM, więc VPS musi być spory.
Krok 1. Katalog i pliki
Zakładamy serwer z Debianem albo Ubuntu, Dockerem i wtyczką Compose, jak w poradniku od zera. Pliki pobierasz z najnowszego wydania – dokumentacja ostrzega, że docker-compose.yml z gałęzi głównej może nie pasować do wydanej wersji.
12.11.2026 najnowszym wydaniem było v3.4.1.
Krok 2. Ustawienia w .env
Otwórz nano .env i ustaw:
UPLOAD_LOCATION– katalog na dysku z miejscem na całą bibliotekę, np./srv/immich/library.DB_DATA_LOCATION– katalog bazy na lokalnym dysku, najlepiej SSD, np./srv/immich/postgres. Dokumentacja wyklucza udziały sieciowe.DB_PASSWORD– zmień domyślnepostgresna długie hasło z samych liter i cyfr (A-Za-z0-9), tak zaleca dokumentacja. Baza nie jest wystawiona na zewnątrz, ale domyślne hasło to zły nawyk.IMMICH_VERSION– w pliku jestv3, czyli najnowsza wersja z linii 3. Możesz przypiąć konkretną wersję, np.v3.4.1, i aktualizować świadomie.TZ– odkomentuj i wpiszEurope/Warsaw.
Hasło wygenerujesz poleceniem openssl rand -hex 24 (sam zapis szesnastkowy spełnia wymóg liter i cyfr).
Krok 3. Port tylko tam, gdzie trzeba
W pobranym pliku serwis immich-server publikuje port 2283:2283, czyli na wszystkich interfejsach. Opublikowane porty Dockera omijają ufw, więc zdecyduj od razu:
- Serwer w domu, dostęp z zewnątrz przez VPN (Tailscale albo WireGuard – opis w poradniku Tailscale czy WireGuard). Zostaw
2283:2283, ale nie przekierowuj tego portu na routerze. Telefon łączy się przez VPN. - VPS albo dostęp przez domenę z HTTPS. Zmień wpis na
"127.0.0.1:2283:2283"i postaw przed Immich nginx (krok 5). Port 2283 nie jest wtedy widoczny z internetu.
Krok 4. Uruchomienie i konto administratora
Pierwsze uruchomienie pobiera obrazy kontenerów, więc chwilę trwa. Według dokumentacji pierwszy zarejestrowany użytkownik zostaje administratorem, dlatego załóż konto od razu – w sieci domowej pod http://ADRES-SERWERA:2283, na VPS-ie przez tunel ssh -N -L 2283:127.0.0.1:2283 deploy@203.0.113.10 i http://localhost:2283. Konta dla domowników dodasz w Administration → Users.
Jeśli serwer ma tylko 4 GB RAM, dokumentacja dopuszcza pracę Immich pod warunkiem wyłączenia uczenia maszynowego. Stracisz wtedy wyszukiwanie po treści zdjęć i rozpoznawanie twarzy.
Krok 5. Domena i HTTPS (opcjonalnie)
Immich musi działać w katalogu głównym domeny albo subdomeny, np. zdjecia.example.pl – podścieżka typu example.pl/immich nie jest obsługiwana. Plik /etc/nginx/sites-available/zdjecia.example.pl na wzór przykładu z dokumentacji Immich:
client_max_body_size 50000Mpozwala wysłać duże filmy; dokumentacja sugeruje zmniejszyć tę wartość, jeśli nie potrzebujesz aż tyle.proxy_request_buffering offwedług dokumentacji zmniejsza zużycie pamięci przez proxy i przyspiesza wysyłanie.- Blok
/.well-known/immichdokumentacja zaleca przy certyfikatach HTTP-01, bo bez niego aplikacja mobilna może mieć problemy z połączeniem. - Ten plik ma własne nagłówki
proxy_set_header, więc nie dołączaj do niego wspólnego snippetu z poradnika o reverse proxy – nagłówki by się zdublowały.
Immich jest wtedy publicznie dostępny pod adresem z logowaniem. Ustaw wszystkim kontom silne hasła.
Krok 6. Telefon
Zainstaluj aplikację Immich (App Store, Google Play, F-Droid), zaloguj się adresem serwera – tym samym co w przeglądarce – i na ekranie kopii (ikona chmury) wybierz albumy oraz włącz kopię. Pierwsze wysyłanie dużej galerii trwa długo; zostaw telefon na Wi-Fi i ładowarce.
Krok 7. Kopie – bez tego nie usuwaj zdjęć z telefonu
Dokumentacja zaleca strategię 3-2-1 i kopię zarówno plików, jak i bazy. Baza zawiera ścieżki i metadane, a jej kopia nie zawiera zdjęć.
Co kopiować z UPLOAD_LOCATION:
- konieczne:
library,upload,profile; - również:
backups– tam Immich sam zapisuje zrzuty bazy (domyślnie codziennie o 2:00, ostatnie 14; zmienisz to w Administration → Settings → Database Dump Settings), a odtwarzanie ich oczekuje; - można pominąć:
thumbsiencoded-video– po odtworzeniu wygenerujesz je ponownie zadaniami w panelu.
Kolejność: jeśli nie zatrzymujesz serwera na czas kopii, dokumentacja każe kopiować najpierw bazę, potem pliki. Najgorszy przypadek to wtedy pliki, o których baza nie wie, a nie wpisy bez plików.
Kopię poza domem albo poza serwerem zrobisz restikiem według poradnika o kopiach – wskaż w nim katalogi z listy wyżej. Przykład wykluczeń dla restic:
Odtworzenie według dokumentacji wymaga całkiem świeżej instalacji (serwer nie może być wcześniej uruchomiony) i zgodnej wersji Immich – najprościej tej samej. Sprawdź je raz na jakiś czas na innej maszynie, zanim będzie potrzebne naprawdę.
Aktualizacje
Przed aktualizacją przeczytaj informacje o wydaniu – Immich bywa zmieniany w sposób wymagający ręcznych kroków (np. proces kopii i odtwarzania zmienił się w wersji 2.5.0). Potem:
Najczęstsze problemy
unknown shorthand flag: 'd' in -d. Masz starego Dockera bez wtyczki Compose. Zainstaluj Docker Engine z oficjalnych pakietów.- Kontener uczenia maszynowego zabija serwer brakiem pamięci. Za mało RAM – wyłącz uczenie maszynowe albo dołóż pamięci.
- Aplikacja mobilna nie łączy się przez domenę. Brak bloku
/.well-known/immich, brak HTTPS albo telefon łączy się adresem z sieci domowej spoza niej. - Wysyłanie dużych filmów przerywa się. Za mały
client_max_body_sizealbo limit czasu w innym proxy przed nginx (np. CDN). - Baza nie startuje po przeniesieniu na NAS. Baza na udziale sieciowym nie jest obsługiwana – przenieś
DB_DATA_LOCATIONna lokalny dysk.
Źródła
Sprawdzone 12.11.2026:
- Immich – wymagania: https://docs.immich.app/install/requirements
- Immich – instalacja w Docker Compose: https://docs.immich.app/install/docker-compose
- Immich – plik compose z wydania v3.4.1: https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
- Immich – po instalacji (pierwszy użytkownik, aplikacja mobilna): https://docs.immich.app/install/post-install
- Immich – kopie i odtwarzanie: https://docs.immich.app/administration/backup-and-restore
- Immich – reverse proxy: https://docs.immich.app/administration/reverse-proxy
- Google One – plany i ceny w PLN: https://one.google.com/about/plans
- Apple – iCloud+ ceny w PLN: https://www.apple.com/pl/icloud/