Zapobiegaj utracie konfiguracji Immich podczas aktualizacji, traktując plik Compose, wartości zmiennych środowiskowych, bazę danych, bibliotekę przesyłanych plików oraz definicje montowania bibliotek zewnętrznych jako oddzielne zasoby trwałe, które należy przechwycić i przywrócić razem.
Kontener można zastąpić, ale konfiguracji wokół niego już nie. Aktualizacja może sprawiać wrażenie, że usunęła Immich, gdy względne montowanie bind jest rozwiązywane względem innego katalogu projektu, zmiana środowiska nigdy nie trafia do odtworzonego kontenera albo nowy stos uruchamia się z pustą bazą danych. Najpierw zinwentaryzuj aktywne wdrożenie, przechowuj wersjonowane kopie poza hostem i sprawdź kontrolowane odtworzenie przed przełączeniem produkcji.
Przechwyć aktywne wdrożenie przed każdą aktualizacją
Wyeksportuj efektywną konfigurację Compose z ukrytymi sekretami, zapisz wersje lub skróty obrazów i skopiuj pliki Compose oraz środowiskowe do wersjonowanego magazynu. Sprawdź aktywne montowania zamiast zakładać, że plik otwarty w edytorze uruchomił bieżące kontenery. Warunek zaliczenia: każda ścieżka środowiska wykonawczego wskazuje znaną lokalizację na hoście.
Zapisz ścieżki bibliotek zewnętrznych, ustawienia odwrotnego proxy, adres URL uczenia maszynowego, wartości połączenia z bazą danych, tożsamość użytkownika i grupy, nazwy sieci oraz wszelkie urządzenia akceleracji sprzętowej. Brak któregokolwiek z tych elementów stanie się później niewyjaśnioną różnicą po aktualizacji.
Powtarzające się pytania społeczności dotyczące aktualizacji pokazują, że operatorzy tracą orientację, która generacja Compose lub układ środowiska ma zastosowanie. Przydatny wniosek z jednej dyskusji o konfiguracji aktualizacji jest taki, aby zachować bieżącą działającą definicję przed jej przekształceniem.
Twórz osobne kopie zapasowe bazy danych, multimediów i plików wdrożenia
Wykonaj natywną kopię bazy danych oraz kopię systemu plików lub migawkę biblioteki przesyłanych plików i katalogu wdrożenia. Zapisz czasy rozpoczęcia i zakończenia, rozmiary archiwów oraz sumy kontrolne. Kopia zawierająca wyłącznie YAML Compose może odtworzyć kontenery, ale nie przywróci kont, metadanych, albumów ani rekordów zasobów.
Użyj kopii wykonywanej po zatrzymaniu usługi, aby uzyskać najprostszą granicę spójności, albo skoordynuj aktywny zrzut bazy danych z migawką magazynu i udokumentuj ich wzajemną zależność. Uwzględnij biblioteki zewnętrzne w inwentaryzacji, nawet jeśli Immich nie zarządza ich oryginalnymi plikami, ponieważ ścieżki i reguły dostępu nadal wpływają na przywróconą usługę.
Utrzymywana przez społeczność procedura aktualizacji do głównej wersji podkreśla konieczność zachowania bazy danych, multimediów, Compose i danych środowiskowych. Potraktuj jej kolejność jako doświadczenie operatorów i potwierdź każdy krok w odniesieniu do wersji, którą rzeczywiście wdrażasz.
Przygotuj aktualizację z przypiętymi wersjami
Przeczytaj informacje o wydaniu dla każdej pominiętej wersji i celowo zaktualizuj zapisaną definicję wdrożenia. Przypnij docelową wersję, pobierz ją bez usuwania starych obrazów i sprawdź wygenerowaną konfigurację Compose. Nieznane zmienne, puste montowania lub mieszane wersje usług nie przechodzą etapu przygotowania.
Jeśli pozwala na to pojemność, przywróć kopię do odizolowanego stosu testowego z innymi portami i bez dostępu do zapisu produkcyjnego. Uruchom go w docelowej wersji i sprawdź migracje, użytkowników, ścieżki magazynu oraz zadania w tle. Samo pomyślne uruchomienie kontenera nie dowodzi, że pierwotna biblioteka jest podłączona.
Powiązany przewodnik ZimaSpace dotyczący bezpiecznego samodzielnie hostowanego NAS-a pomaga umieścić pliki wdrożenia i kopie zapasowe poza pojedynczym hostem i zakresem poświadczeń, które może zakłócić aktualizacja.
Sprawdź trwałość konfiguracji po odtworzeniu
Przed przełączeniem odtwórz kontenery testowe z zapisanych plików zamiast uruchamiać je ponownie w miejscu. Zweryfikuj użytkowników, ustawienia serwera, szablony magazynu, biblioteki, zadania, dostęp przez proxy oraz rzeczywiste wartości środowiskowe. Warunek zaliczenia: konfiguracja przetrwa wymianę, ponieważ znajduje się w udokumentowanych trwałych komponentach.
Po przełączeniu produkcji prześlij jeden testowy zasób, wykonaj wyszukiwanie, otwórz oryginał i utwórz nową kopię bazy danych. Uruchom ponownie stos i host, a następnie powtórz testy. Zachowaj starą wersję, kopię zapasową i definicję wdrożenia, dopóki normalne obciążenie nie pozostanie stabilne przez cały okres obserwacji.
Jeśli aktualizacja już rozpoczęła się z pustym stanem, zatrzymaj ją, zanim dodanie użytkowników lub nowych przesyłanych plików utworzy sprzeczny stan. Podłącz ponownie wyłącznie zweryfikowaną ścieżkę trwałą albo przywróć dane do czystego celu. Wycofaj zmiany, gdy brakuje oczekiwanych użytkowników lub zasobów; jeśli tożsamość danych nadal jest niejednoznaczna, eskaluj problem, przekazując oczyszczoną efektywną konfigurację Compose, montowania, wersje oraz znaczniki czasu kopii zapasowych.
Wsparcie i wskazówki
Więcej do przeczytania

Jak zoptymalizować połączenia z bazą danych Immich dla równoczesnych kontenerów
Nie zwiększaj najpierw wartości max_connections. Zmierz sesje Immich, zsumuj zapotrzebowanie wszystkich kontenerów, zachowaj rezerwę dla administratora i dostosuj tylko faktycznie potwierdzone wąskie gardło.

Jak zapobiegać duplikowaniu zadań lub importów w Immich
Oddziel powtarzające się zadania od zduplikowanych zasobów. Użyj jednej kanonicznej ścieżki pozyskiwania danych, kontroluj ponowne próby i zmiany ścieżek, a następnie przetestuj ponowne wprowadzanie...

Jak naprawić Immich po zapełnieniu woluminu bazy danych
Nigdy nie usuwaj dziennika WAL PostgreSQL, aby zwolnić miejsce. Zatrzymaj operacje zapisu w Immich, zachowaj stan bazy danych, bezpiecznie zwiększ pojemność, odzyskaj działanie PostgreSQL,...

