Masz bibliotekę zdjęć. Lata wspomnień. Albumy, które starannie organizowałeś. Twarze, które oznaczyłeś. Udostępnione linki, które wysłałeś rodzinie.
Następnie aktualizujesz swój NAS — i zdajesz sobie sprawę, że samo przeniesienie plików to za mało. Bez bazy danych tracisz każdy album, każdy tag twarzy, każde wspomnienie, które stworzyłeś. Zdjęcia są, ale organizacja zniknęła.
Właśnie przeniosłem 14 505 zdjęć i 925 filmów — łącznie 134 GiB — z serwera DIY ZimaOS na ZimaCube 2. Każdy album przetrwał. Każdy tag twarzy został zachowany. Każdy udostępniony link nadal działa.
Oto dokładnie jak to zrobiłem, co prawie poszło nie tak i co ZimaCube 2 wniosło, czego mój stary zestaw nie mógł.
Dlaczego Immich, dlaczego teraz
Immich stał się popularnym rozwiązaniem do samodzielnego hostowania zdjęć nie bez powodu. Oferuje funkcje na poziomie Google Photos — rozpoznawanie twarzy, wyszukiwanie semantyczne, automatyczne kopie zapasowe z telefonu, udostępnione albumy — bez wysyłania Twoich zdjęć na serwer kogoś innego.
Ale Immich przechowuje swoją duszę w PostgreSQL. Baza danych zawiera albumy, wektory twarzy, klastry osób, osadzenia CLIP do inteligentnego wyszukiwania oraz każdy fragment metadanych, który sprawia, że biblioteka jest Twoja. Przenieś pliki bez bazy danych, a otrzymasz folder pełen zdjęć i pustą instancję Immich.
Ta migracja miała jedną zasadę: zero utraty danych. Stary serwer nie został wyczyszczony, dopóki nowy nie został zweryfikowany.
Co Immich faktycznie przechowuje (i dlaczego to ważne)
Zanim dotknąłem jakichkolwiek plików, dokładnie zaplanowałem, co trzeba przenieść:
| Komponent | Lokalizacja | Zawartość | Czy trzeba migrować? |
| pgdata | /DATA/AppData/immich/pgdata | Pełny PostgreSQL — albumy, twarze, osoby, metadane | ✅ Krytyczne |
| model-cache | /DATA/AppData/immich/model-cache | Pobrane modele CLIP/rozpoznawania twarzy | ✅ Oszczędza ponowne pobieranie |
| Biblioteka zdjęć | /DATA/Gallery/immich | 14 505 zdjęć + 925 filmów + miniatury (134 GiB) | ✅ Aktualne media |
| Automatyczne kopie zapasowe | /DATA/Gallery/immich/backups | Ostatnie 14 codziennych migawkek bazy danych | 💡 Już obecne |
Immich tworzy również automatyczne kopie zapasowe bazy danych codziennie o 2:00 rano, przechowując ostatnie 14 w katalogu kopii zapasowych. Przed wykonaniem ręcznego zrzutu sprawdź czy nie ma już tam niedawnej automatycznej kopii zapasowej.
Metoda: Aplikacja Pliki ZimaOS (kopiowanie przez LAN)
Obie maszyny działają na ZimaOS w tej samej sieci LAN. To oznaczało, że mogłem użyć wbudowanej aplikacji Pliki do bezpośredniego transferu przez LAN — bez zewnętrznych dysków, bez poleceń SCP, bez pośredniego magazynu.
Krok 1: Zamontuj maszynę źródłową
Na ZimaCube 2 otwórz aplikację Pliki → + Dodaj magazyn → Magazyn LAN → wpisz lokalny adres IP maszyny źródłowej i uwierzytelnij się. System plików maszyny źródłowej pojawi się teraz jako przeglądany magazyn na ZimaCube 2.
Krok 2: Zatrzymaj Immich na źródle
To jest krok, który ludzie pomijają i potem żałują. Zatrzymaj Immich przed kopiowaniem. Działający PostgreSQL ciągle zapisuje — potrzebujesz bazy w spójnym, wypłukanym stanie. Na maszynie źródłowej: ZimaOS App Store → Immich → Zatrzymaj.
Krok 3: Skopiuj oba katalogi
W aplikacji Pliki na ZimaCube 2 przejdź do zamontowanego źródła i wybierz:
| Ścieżka źródłowa | Ścieżka docelowa na ZimaCube 2 |
| /DATA/AppData/immich | /DATA/AppData/immich |
| /DATA/Gallery/immich | /DATA/Gallery/immich |
Wybierz oba miejsca, kliknij Migracja. Wybierz: Nadpisz w miejscu docelowym i Zachowaj oryginały u źródła — nie usuwaj źródła, dopóki nie zweryfikujesz.
Krok 4: Zainstaluj Immich na ZimaCube 2
Otwórz ZimaOS App Store i wyszukaj Immich. Ostrzeżenie krytyczne: w App Store może być kilka wariantów Immich. Musisz zainstalować dokładnie ten sam wariant, którego używa twoja maszyna źródłowa:
Immich (oficjalna aplikacja ZimaOS/CasaOS) — użyj tego, jeśli to właśnie miałeś wcześniej
BigBearCasaOS Immich — różne zmienne docker-compose, różne dane logowania do postgres, inna nazwa bazy danych — niekompatybilne z bezpośrednią kopią pgdata z oficjalnej aplikacji
Po instalacji nie uruchamiaj aplikacji od razu. Immich przy pierwszym uruchomieniu wykryje istniejący katalog pgdata i połączy się z nim zamiast inicjować nową, pustą bazę danych.

Krok 5: Zaloguj się istniejącymi danymi
Otwórz Immich pod adresem http://192.168.x.x:2283 i zaloguj się tym samym nazwą użytkownika i hasłem co w instancji źródłowej. Twoja pełna biblioteka — albumy, twarze, osoby, ustawienia — będzie dokładnie taka sama jak wcześniej.

Krok 6: Zweryfikuj kolejki zadań
Przejdź do Profil → Administracja → Kolejki zadań. Po migracji pgdata baza danych zawiera już wszystkie wcześniej przetworzone wyniki, więc większość kolejek powinna pokazywać Aktywne: 0 / Oczekujące: 0.
Jeśli któraś kolejka pokazuje liczbę poniżej Brakujące, kliknij przycisk Brakujące, aby przetworzyć tylko nieprzetworzone zasoby:
| Kolejka | Kiedy uruchomić brakujące |
| Generuj miniatury | Jeśli jakieś zdjęcia pokazują puste podglądy |
| Wyodrębnij metadane | Jeśli zasoby nie mają GPS/lokalizacji/dat |
| Inteligentne wyszukiwanie | Jeśli inteligentne wyszukiwanie nie zwraca wyników |
| Wykrywanie twarzy | Jeśli dane twarzy wydają się niekompletne |
Statystyki migracji
| Metryka | Wartość |
| Przeniesione zdjęcia | 14,505 |
| Przeniesione filmy | 925 |
| Całkowite dane | 134 GiB |
| Czas transferu (2,5GbE) | ~12 minut |
| Albumy zachowane | Wszystko |
| Tagi twarzy zachowane | Wszystko |
| Udostępnione linki zachowane | Wszystko |
| Utraty danych | Zero |
Dlaczego ZimaCube 2 sprawił, że to było warte zrobienia
Nie migrowałem tylko po to, by mieć to samo doświadczenie. ZimaCube 2 oferuje trzy ulepszenia, których mój stary, samodzielnie zbudowany ZimaOS nie mógł zapewnić:
Transfery 2,5GbE. Biblioteki zdjęć rosną. Każda pełna kopia zapasowa, każdy duży import, każda migracja korzysta z 2,5× większej przepustowości niż standardowy gigabit. Podwójne 2,5GbE w ZimaCube 2 pozwala mi nasycić transfer kopii zapasowej, podczas gdy reszta sieci pozostaje responsywna.
NVMe storage dla bazy danych. Baza danych Immich PostgreSQL działa znacznie lepiej na NVMe niż na tradycyjnych dyskach talerzowych. Generowanie miniatur, inteligentne zapytania wyszukiwania, rozpoznawanie twarzy — wszystko to odczytuje dane z pgdata. Na pulpicie NVMe ZimaCube 2 operacje na bazie danych, które wcześniej przycinały na HDD, są teraz natychmiastowe.
Rozbudowa do 6 zatok. Dziś 134 GiB. A co za rok? ZimaCube 2 ma sześć zatok SATA oraz cztery sloty M.2 w 7. zatoce, co oznacza, że ta biblioteka zdjęć może rosnąć przez lata bez ograniczeń pojemności.

Przenieś swoją bibliotekę zdjęć na ZimaCube 2 →
Budujesz własne rozwiązanie do hostowania zdjęć? Przeczytaj nasz przewodnik Personal Cloud Storage Device, dogłębną analizę Docker & CI/CD na ZimaCube 2 oraz nasz ZimaCube 2 Pro Unboxing.
Najczęściej zadawane pytania
Czy mogę przenieść Immich na ZimaCube 2 bez utraty albumów i tagów twarzy?
Tak — ale musisz skopiować zarówno pliki zdjęć, jak i katalog pgdata (baza danych PostgreSQL). Baza przechowuje wszystkie albumy, wektory twarzy, klastry osób i metadane. Przeniesienie samych zdjęć daje tylko pliki bez organizacji. Skopiuj oba katalogi razem, a Twoja biblioteka pozostanie nienaruszona.
Jaki jest najszybszy sposób na przeniesienie danych Immich na ZimaCube 2?
Jeśli obie maszyny są w tej samej sieci LAN i działają na ZimaOS, użyj wbudowanej aplikacji Files z montowaniem pamięci LAN. Przez połączenie 2,5 GbE ZimaCube 2, transfer 134 GiB zajmuje około 10–15 minut. Dla większych bibliotek lub maszyn w różnych sieciach, najlepszą opcją jest zewnętrzny dysk USB.
Czy wersja Immich ze sklepu App Store ma znaczenie przy migracji?
Tak — to krytyczne. Sklep z aplikacjami ZimaOS może pokazywać różne warianty Immich (oficjalny vs BigBearCasaOS). Używają one różnych zmiennych docker-compose — dane uwierzytelniające postgres, nazwy baz danych i konfiguracje sieci są niekompatybilne. Zainstaluj dokładnie ten sam wariant, którego używa maszyna źródłowa, inaczej przywrócona baza danych nie połączy się.
Czy muszę zatrzymać Immich na maszynie źródłowej przed kopiowaniem?
Tak. Działająca instancja PostgreSQL zapisuje dane ciągle. Kopiowanie działającej bazy danych grozi niespójnym stanem. Zatrzymaj Immich na maszynie źródłowej, skopiuj foldery, a następnie uruchom go na maszynie docelowej. Maszyna źródłowa może pozostać wyłączona lub działać jako kopia zapasowa, dopóki nie zweryfikujesz migracji.
Ile miejsca na dane potrzebuje Immich na ZimaCube 2?
Zaplanuj rozmiar swojej biblioteki zdjęć oraz miejsce na bazę danych PostgreSQL (która rośnie wraz z biblioteką), pamięć podręczną miniatur i transkodowane wersje wideo. Biblioteka o wielkości 134 GiB z 14 500 zdjęciami zajmuje łącznie około 150–160 GiB z narzutem. Sześć zatok SATA w ZimaCube 2 daje Ci miejsce na rozbudowę.
Centrum Kampanii Zima
Więcej do przeczytania

Przekształciłem regał Ikea Kallax w 10-calowy rack homelab z ZimaCube 2
Homelaby montowane w szafie rack brzmią świetnie, dopóki nie uświadomisz sobie, że nie chcesz mieć w salonie silnika odrzutowego z przedsiębiorstwa. Ruch mini racków...

Jak jedno urządzenie zastąpiło całą moją chmurę — Nextcloud + lokalna sztuczna inteligencja na ZimaCube 2
Przestań płacić za przechowywanie w chmurze. Dowiedz się, jak samodzielnie hostowany NAS z Nextcloud może bezpiecznie synchronizować Twoje pliki i uruchomić szybkiego lokalnego asystenta...

Pierwsze wrażenia z ZimaCube 2 — Niewiarygodna wartość za 6-zatokowy NAS
Przeczytaj naszą recenzję ZimaCube 2 Standard. Ten sześciokomorowy NAS oferuje doskonałą wartość dla HomeLab dzięki procesorowi Intel i3, Thunderbolt 4, czterem slotom NVMe oraz...

