Immich może zużywać znacznie więcej przestrzeni niż przewidziano na dysku systemowym ZimaOS, zwłaszcza gdy zaczynają rosnąć liczba przesyłanych z telefonu zdjęć, miniatury, zakodowane filmy, modele uczenia maszynowego oraz baza danych PostgreSQL. Oryginalny poradnik IceWhale Community rozwiązał ten problem w kwietniu 2025 r., zmieniając wybrane mapowania woluminów podczas niestandardowej instalacji w ZimaOS, tak aby dane Immich znajdowały się na woluminie RAID zamiast na dysku ZimaOS.
To obejście pomaga zrozumieć sposób skonfigurowania kontenera, ale nie należy traktować go jako uniwersalnej, aktualnej instrukcji. W późniejszych odpowiedziach zgłaszano nieudane instalacje, powtarzające się restarty, niezdrowy kontener PostgreSQL, a nawet uszkodzone przesyłane zdjęcia po eksperymentowaniu z mapowaniami. ZimaOS dodał również i udoskonalił wbudowane narzędzia migracji, a obecne wydania Immich Docker Compose korzystają ze zmiennych po stronie hosta, takich jak UPLOAD_LOCATION i DB_DATA_LOCATION. W aktualnym systemie najpierw skorzystaj z wbudowanej funkcji migracji ZimaOS, jeśli odpowiada ona Twojemu celowi, a ręczną edycję woluminów pozostaw na przypadki, w których rzeczywiście potrzebujesz niestandardowego układu pamięci Immich.
Co zmienił oryginalny poradnik Immich dla ZimaOS z 2025 roku
Poradnik społeczności korzystał z funkcji niestandardowej instalacji w ZimaOS lub z ekranu ustawień aplikacji po instalacji i przechodził kolejno przez karty usługi. Jego celem było przekierowanie trwałych danych Immich do większej lokalizacji RAID przy jednoczesnym zachowaniu ścieżek po stronie kontenera, których oczekiwał Immich.
Baza danych: przenieś ścieżkę hosta, zachowaj ścieżkę kontenera
W zakładce bazy danych autor zmienił lokalizację pamięci masowej po stronie ZimaOS na ścieżkę RAID, zachowując przyrostek katalogu bazy danych. Najważniejsza zasada polegała na tym, aby nie przepisywać ścieżki po prawej stronie wewnątrz kontenera. Zmiana miejsca docelowego w kontenerze może spowodować awarię usługi, ponieważ PostgreSQL oczekuje danych w ścieżce zdefiniowanej przez pakiet Immich lub konfigurację Compose.
Obecna dokumentacja Immich dotycząca Docker Compose udostępnia tę lokalizację na hoście za pośrednictwem DB_DATA_LOCATIONImmich ostrzega również, że udziały sieciowe nie są obsługiwane przez bazę danych PostgreSQL, dlatego bazę należy przechowywać na niezawodnym, lokalnie podłączonym nośniku, a nie na udziale SMB lub NFS.
Uczenie maszynowe: przekieruj pamięć podręczną modeli tylko w razie potrzeby
Pierwotny przewodnik przekierowywał również pamięć podręczną modeli uczenia maszynowego po stronie hosta, pozostawiając bez zmian ścieżkę pamięci podręcznej po stronie kontenera. Przeniesienie tej pamięci podręcznej może zaoszczędzić miejsce na małym dysku systemowym, choć jest mniej istotne niż ochrona biblioteki zdjęć i bazy danych, ponieważ pobrane modele można zwykle odtworzyć.
Serwer Immich: najbardziej wrażliwa sekcja woluminów
Karta serwera Immich była częścią, którą autorowi najłatwiej było zepsuć. Dodano dodatkowe mapowania hosta, aby przesyłane pliki i inne trwałe katalogi multimediów wskazywały pamięć RAID. Wątek wielokrotnie podkreśla, że należy zmieniać wyłącznie zamierzone lokalizacje po stronie hosta, a ścieżek po stronie kontenera nie powinno się zmieniać bez wyraźnej potrzeby.
W pierwotnej instrukcji karta Redis nie wymagała zmian w pamięci masowej. To kolejny powód, aby nie stosować bezwarunkowego wyszukiwania i zamiany do każdego wpisu woluminu: różne usługi Immich mają różne wymagania dotyczące trwałości danych.
Najpierw użyj migracji danych ZimaOS w obecnych systemach
Najważniejsza informacja z późniejszej dyskusji jest taka, że ZimaOS oferuje teraz dedykowany proces migracji. Odpowiedź zespołu IceWhale w wątku wyraźnie ostrzegała, że ręczne kopiowanie danych aplikacji może powodować błędy, i w większości przypadków zalecała użycie funkcji migracji.
Aktualny przewodnik migracji danych ZimaOS wymienia trzy kategorie pamięci, które można przenosić: obrazy Dockera, dane aplikacji Dockera i bazy danych użytkownika. Standardowa ścieżka wygląda następująco:
- Otwórz Settings > Data Migration.
- Wybierz kategorię pamięci, którą chcesz przenieść.
- Wybierz Modify Location.
- Wybierz dysk docelowy lub przestrzeń magazynową.
- Zapoznaj się z ostrzeżeniem, rozpocznij migrację i zaczekaj na raport z jej ukończenia.
Ta wbudowana migracja jest lepszym punktem wyjścia, jeśli Twoim celem jest po prostu przeniesienie danych aplikacji Dockera z dala od dysku systemowego ZimaOS. Zmniejsza również ryzyko pozostawienia niespójnych ścieżek, uprawnień lub dowiązań symbolicznych po ręcznym przeniesieniu.
Co zrobić, jeśli chcesz mieć Immich na SSD, a zdjęcia na RAID?
Późniejsze pytanie w wątku dotyczyło bardziej praktycznego układu długoterminowego: aplikacja i komponenty wrażliwe na wydajność pozostają na dysku SSD, a duża biblioteka zdjęć trafia na macierz RAID. Autor oryginalnego wpisu nie przetestował tej rozdzielonej konfiguracji, więc sam wątek nie zawiera zweryfikowanej instrukcji dla ZimaOS.
Aktualna dokumentacja Immich przedstawia dwa pojęcia, które pomagają określić właściwy układ. W przypadku multimediów przesyłanych do Immich oficjalna konfiguracja Docker Compose używa UPLOAD_LOCATION jako ścieżkę hosta dla magazynu multimediów. W przypadku istniejącej kolekcji zdjęć, którą Immich ma indeksować bez importowania jej do zarządzanego obszaru przesyłania, Immich obsługuje biblioteki zewnętrzne.
W standardowym, aktualnym wdrożeniu Immich za pomocą Compose odpowiednie wartości środowiskowe wyglądają koncepcyjnie tak:
UPLOAD_LOCATION=/path/to/large-media-storage
DB_DATA_LOCATION=/path/to/local-database-storage
Nie wklejaj tych ścieżek bez sprawdzenia do starszej definicji aplikacji ZimaOS. Najpierw sprawdź konfigurację Compose lub Custom Install używaną przez dokładnie ten pakiet Immich, który masz zainstalowany. Aktualny oficjalny plik Compose Immich montuje ${UPLOAD_LOCATION} do kontenera serwera oraz ${DB_DATA_LOCATION} do PostgreSQL, podczas gdy starsze wydania i pakiety społecznościowe mogą używać innych wewnętrznych lokalizacji docelowych.
Aktualne informacje z projektu znajdziesz w przewodniku instalacji Immich za pomocą Docker Compose oraz w przewodniku Immich dotyczącym bibliotek zewnętrznych.
Dlaczego ręczne zmiany woluminów mogą spowodować awarię Immich
Odpowiedzi pokazują kilka rodzajów awarii po zmianie mapowań pamięci masowej przez użytkowników. Jeden z uczestników początkowo zgłosił, że aplikacja przestała działać, a później napisał, że zaczęła działać po kilku ponownych uruchomieniach. Inny użytkownik stwierdził, że powtarzane eksperymenty zepsuły Immich, a część przesłanych zdjęć z telefonu uległa uszkodzeniu. W późniejszym zgłoszeniu opisano powtarzające się nieudane instalacje związane z niezdrową usługą PostgreSQL.
Te zgłoszenia nie dowodzą istnienia jednego wspólnego błędu. Pokazują jednak, dlaczego migrację pamięci masowej należy traktować jako operację związaną z integralnością danych, a nie kosmetyczną zmianę ścieżki. Warto sprawdzić między innymi następujące częste przyczyny:
- Nieprawidłowe miejsce docelowe w kontenerze: ścieżkę hosta można dostosować, ale ścieżka wewnątrz kontenera musi odpowiadać wymaganiom danego wdrożenia Immich.
- Uprawnienia: miejsce docelowe musi umożliwiać zapis użytkownikowi kontenera lub usłudze, która zarządza plikami.
- Umiejscowienie bazy danych: PostgreSQL wymaga niezawodnej lokalnej pamięci masowej i nie powinien być umieszczany na nieobsługiwanym udziale sieciowym.
- Niekompletne przenoszenie: ręczne skopiowanie tylko części istniejącego drzewa danych Immich może spowodować rozbieżność między bazą danych a magazynem multimediów.
- Niezgodność wersji: układ woluminów Immich ewoluował, dlatego instrukcje napisane dla starszego pakietu mogą nie pasować do Immich v2, v3 ani nowszej definicji w sklepie aplikacji ZimaOS.
Bezpieczniejsza lista kontrolna migracji pamięci masowej Immich
- Przed zmianą jakiegokolwiek mapowania woluminów wykonaj kopię zapasową bazy danych Immich oraz niezastąpionych plików multimedialnych.
- Sprawdź, której wersji Immich i którego pakietu Immich ze sklepu aplikacji ZimaOS używasz.
- Zdecyduj, czy chcesz przenieść wszystkie dane aplikacji, czy tylko dużą bibliotekę multimediów.
- Jeśli przenosisz ogólne dane aplikacji ZimaOS, najpierw spróbuj użyć opcji Ustawienia > Migracja danych, zamiast edytować ścieżki poszczególnych kontenerów.
- Jeśli używasz niestandardowego układu Immich, przed wprowadzeniem zmian zapisz każdą istniejącą ścieżkę hosta i miejsce docelowe w kontenerze.
- Nie zmieniaj ścieżek docelowych po stronie kontenera, chyba że dokumentacja dotycząca dokładnie używanej wersji Immich wyraźnie wymaga innej ścieżki.
- Przed ponownym utworzeniem kontenerów upewnij się, że docelowy system plików jest zamontowany i umożliwia zapis.
- Nie umieszczaj katalogu danych PostgreSQL na nieobsługiwanym udziale sieciowym.
- Po migracji prześlij mały zestaw testowy i sprawdź oryginały, miniatury, odtwarzanie filmów, metadane oraz nowe przesyłanie z urządzeń mobilnych, zanim przeniesiesz resztę biblioteki.
- Zachowaj starą kopię, dopóki nie sprawdzisz zarówno bazy danych, jak i plików multimedialnych na nowej pamięci masowej.
Co odpowiedzi społeczności dodały do oryginalnego poradnika
Najbardziej przydatne odpowiedzi zmieniły interpretację oryginalnego poradnika na trzy sposoby. Po pierwsze, pokazały, że ręczne mapowanie może działać, ale jest zależne od dokładnej wersji aplikacji, uprawnień do pamięci masowej i stanu po ponownym uruchomieniu. Po drugie, użytkownicy chcieli układu z podziałem na SSD i RAID, zamiast przenoszenia wszystkich komponentów Immich do tej samej macierzy. Po trzecie, członek zespołu IceWhale zalecił skorzystanie z wbudowanej funkcji migracji i ostrzegł, że ręczne kopiowanie może powodować błędy.
Dlatego pierwotny wpis z 2025 roku najlepiej traktować jako działający przykład społecznościowy z tamtego okresu, a nie niezmienną specyfikację dla każdej późniejszej wersji Immich lub ZimaOS. Jeśli obecny interfejs ZimaOS nie udostępnia już tych samych pól Custom Install, które pokazano na zrzutach ekranu, skorzystaj z aktualnego interfejsu migracji i sprawdź konfigurację Compose zainstalowanej aplikacji, zamiast próbować odtwarzać stare pola.
Najczęściej zadawane pytania dotyczące pamięci masowej Immich w ZimaOS
Czy mogę zainstalować Immich na dysku RAID zamiast na dysku systemowym ZimaOS?
Tak, ale rozróżnij przenoszenie danych aplikacji ZimaOS od projektowania niestandardowego układu multimediów Immich. W obecnych wersjach ZimaOS najpierw użyj wbudowanej funkcji migracji danych, jeśli chcesz przenieść dane aplikacji Docker. Ręczne mapowania woluminów lepiej pozostawić do celowego projektu z rozdzieloną pamięcią masową.
Czy powinienem zmienić prawą ścieżkę woluminu Immich w opcji Custom Install?
Nie, chyba że dokumentacja dotycząca dokładnie Twojego wdrożenia Immich tak zaleca. Oryginalny przewodnik społeczności zmieniał lokalizacje po stronie hosta, zachowując lokalizacje po stronie kontenera. Zmiana wewnętrznej lokalizacji docelowej może uniemożliwić usłudze znalezienie oczekiwanych katalogów bazy danych, pamięci podręcznej lub multimediów.
Czy mogę trzymać Immich na dysku SSD, a tylko zdjęcia przechowywać na macierzy RAID?
Zasadniczo tak — obecna wersja Immich obsługuje wybór lokalizacji przesyłanych plików na hoście, a także montowanie bibliotek zewnętrznych. Dokładne mapowanie w ZimaOS zależy od zainstalowanego pakietu i wersji Immich, dlatego przed zmianą ścieżek zweryfikuj bieżącą definicję Compose.
Dlaczego PostgreSQL staje się niezdrowy po zmianie lokalizacji pamięci masowej?
Możliwe przyczyny to nieprawidłowe miejsce montowania, brak uprawnień, niekompletne pliki bazy danych lub nieobsługiwany typ pamięci masowej. Sprawdź, czy cały katalog bazy danych został prawidłowo przeniesiony, czy miejsce docelowe jest lokalne i umożliwia zapis oraz czy miejsce docelowe kontenera nadal odpowiada zainstalowanej konfiguracji Compose.
Czy mogę po prostu skopiować folder AppData aplikacji Immich na inny dysk?
Nie jest to obecnie zalecana ścieżka w ZimaOS. Członek zespołu IceWhale wyraźnie ostrzegł w wątku, że ręczne kopiowanie może powodować błędy, i zalecił korzystanie z funkcji migracji w przypadku większości przenosin aplikacji.
Czy przewodnik w formie zrzutów ekranu z kwietnia 2025 roku jest nadal aktualny?
Nadal jest przydatne jako historyczne wyjaśnienie mapowania woluminów w ZimaOS, ale zarówno funkcje migracji ZimaOS, jak i układ Compose w Immich zmieniły się od tamtego czasu. Potraktuj zrzuty ekranu jako odniesienie do pierwotnej konfiguracji, a przed zastosowaniem jakiejkolwiek zmiany zweryfikuj pokazane pola i ścieżki w bieżącej instalacji.
