Jeśli masz już zdjęcia na innym dysku HDD lub SSD i chcesz, aby Immich w ZimaOS je indeksował bez przenoszenia ich do standardowej biblioteki przesyłanych plików Immich, użyj biblioteki zewnętrznej. Wątek społeczności z października 2024 roku potwierdził ten proces: najpierw udostępnij folder hosta ZimaOS kontenerowi immich-server, a następnie dodaj odpowiadającą mu ścieżkę po stronie kontenera w panelu administracyjnym Immich.
Różni się to od zmiany głównej lokalizacji przechowywania przesyłanych plików w Immich. Późniejsza odpowiedź w tym samym wątku dotyczyła tego, czy zewnętrzny dysk może stać się jedyną lokalizacją wszystkich przyszłych przesyłanych plików Immich, ale kwestia ta nie została rozstrzygnięta w wątku źródłowym. Obecna dokumentacja Immich traktuje te scenariusze jako dwa odrębne procesy: biblioteki zewnętrzne dla istniejących plików oraz UPLOAD_LOCATION/niestandardowe ścieżki przechowywania przesyłanych plików zarządzanych przez Immich.
Co faktycznie rozwiązywał oryginalny wątek
Autor oryginalnego wpisu chciał, aby Immich rozpoznawał zdjęcia przechowywane poza domyślną lokalizacją. Później zgłosił, że ta sekwencja zakończyła się powodzeniem:
- Otwórz ustawienia Immich w ZimaOS.
- Otwórz usługę immich-server.
- Dodaj folder hosta ZimaOS jako wolumin Dockera.
- Użyj ścieżki po stronie kontenera, takiej jak
/home/user/photos1. - Otwórz panel administracyjny Immich.
- Utwórz bibliotekę zewnętrzną i dodaj tę samą ścieżkę po stronie kontenera.
Późniejszy użytkownik wyraźnie potwierdził, że to rozwiązanie zadziałało w jego przypadku.
Ścieżka hosta i ścieżka Immich są różne
Koncepcja mapowania Dockera wygląda następująco:
Folder hosta ZimaOS → folder kontenera Immich
Na przykład:
/media/Photos:/home/user/photos1:ro
Immich nie skanuje bezpośrednio ścieżki hosta ZimaOS. Może skanować wyłącznie ścieżkę widoczną wewnątrz swojego kontenera:
/home/user/photos1
Używaj trybu tylko do odczytu dla istniejących archiwów zdjęć
Oryginalne rozwiązanie społeczności używało :ro. Aktualna dokumentacja Immich nadal zaleca montowanie tylko do odczytu, gdy Immich ma jedynie indeksować pliki:
/media/Photos:/home/user/photos1:ro
Tryb tylko do odczytu uniemożliwia Immich usuwanie plików lub zapisywanie dodatkowych metadanych w folderze źródłowym.
Aktualna dokumentacja bibliotek zewnętrznych Immich
Utwórz bibliotekę zewnętrzną w Immich
Po utworzeniu punktu montowania otwórz Immich za pomocą konta administratora i przejdź do sekcji bibliotek zewnętrznych. Utwórz bibliotekę, wybierz jej właściciela i dodaj ścieżkę kontenera:
/home/user/photos1
Następnie uruchom skanowanie. Immich powinien rozpocząć indeksowanie zdjęć oraz tworzenie zadań generowania miniatur i metadanych.
Sprawdź, czy ścieżka istnieje wewnątrz kontenera
Jeśli Immich odrzuca ścieżkę biblioteki, potwierdź, że punkt montowania jest widoczny w immich-server. Główny problem opisany w wątku źródłowym nie polegał jedynie na wybraniu folderu w interfejsie Immich — Docker musiał najpierw udostępnić ten folder wewnątrz kontenera.
Obecna dokumentacja Immich wyraźnie określa ten sam wymóg: podłączona ścieżka musi istnieć wewnątrz kontenera, zanim będzie można dodać ją jako bibliotekę zewnętrzną.
Nie kopiuj bezkrytycznie historycznego kroku z kartą bazy danych
W poście źródłowym z 2024 roku wspomniano również o dodaniu tej samej ścieżki na karcie bazy danych Immich. Obecnie do tej instrukcji należy podchodzić ostrożnie.
Obecnie upstreamowa wersja Immich rozdziela:
-
przechowywanie zdjęć i filmów za pośrednictwem
UPLOAD_LOCATIONlub podłączonych zewnętrznych bibliotek; -
Magazyn bazy danych PostgreSQL za pośrednictwem
DB_DATA_LOCATION.
Lokalizacja bazy danych to nie to samo co lokalizacja biblioteki zdjęć. Nie mapuj dowolnego folderu ze zdjęciami do PostgreSQL tylko dlatego, że stary pakiet ZimaOS udostępniał kartę usługi Database.
Zewnętrzna biblioteka a główny magazyn Immich
| Cel | Użyj |
|---|---|
| Indeksuj zdjęcia przechowywane już w innym miejscu | Zewnętrzna biblioteka |
| Spraw, aby przyszłe przesyłane pliki Immich były przechowywane na innym dysku | Zmień lokalizację przesyłania/magazynu Immich |
Wątek źródłowy potwierdza pierwszy przypadek, a nie drugi.
Jeśli chcesz, aby zewnętrzny dysk był głównym magazynem Immich
Aktualna konfiguracja Docker Compose Immich używa:
UPLOAD_LOCATION=./library
i mapuje tę ścieżkę hosta do /data wewnątrz immich-server. Aktualna dokumentacja dotycząca niestandardowych lokalizacji wyjaśnia, jak przenieść dane zarządzane przez Immich do innej lokalizacji magazynu hosta przy zachowaniu oczekiwanych ścieżek kontenera.
Niestandardowe lokalizacje magazynu Immich
Jeśli ważne zdjęcia już znajdują się w Immich, przed zmianą głównej lokalizacji magazynu wykonaj kopię zapasową zarówno bazy danych, jak i systemu plików.
Wymagania dotyczące bazy danych traktuj oddzielnie
Baza danych PostgreSQL ma inne wymagania dotyczące przechowywania niż pliki zdjęć. Aktualna dokumentacja Immich wskazuje, że udziały sieciowe nie są obsługiwane jako ścieżka bazy danych, a baza danych powinna korzystać z odpowiedniego lokalnego systemu plików.
Nie przenoś PostgreSQL tylko dlatego, że dodajesz zewnętrzną bibliotekę zdjęć.
Zewnętrzne biblioteki nadal wymagają niezależnych kopii zapasowych
Immich nie kopiuje oryginalnych zasobów z zewnętrznej biblioteki do swojego standardowego zarządzanego magazynu. Oryginały pozostają na zewnętrznym dysku. Jeśli te pliki zostaną usunięte z dysku, Immich może oznaczyć je jako brakujące lub usunąć z aktywnej biblioteki po ponownym skanowaniu.
Wykonuj niezależne kopie zapasowe dysku źródłowego. Metadane bazy danych Immich nie zastępują kopii zapasowej systemu plików.
Lista kontrolna zewnętrznej biblioteki Immich w ZimaOS
- Znajdź istniejący folder hosta ZimaOS zawierający zdjęcia.
- Otwórz bieżące ustawienia aplikacji/kontenera Immich.
- Zamontuj folder hosta w
immich-server. - Preferuj
:rodla archiwum, którego Immich nie powinien modyfikować. - Użyj czytelnej ścieżki kontenera, takiej jak
/home/user/photos1lub/mnt/media/photos. - Otwórz Administracja Immich → Biblioteki zewnętrzne.
- Dodaj dokładną ścieżkę po stronie kontenera.
- Uruchom skanowanie biblioteki.
- Nie myl tego z przenoszeniem głównego
UPLOAD_LOCATION. - Wykonuj osobne kopie zapasowe zewnętrznego dysku.
Często zadawane pytania dotyczące zewnętrznego magazynu Immich
Czy oryginalne rozwiązanie zadziałało?
Tak. Autor oryginalnego wpisu zgłosił, że rozwiązanie działa, a później inny użytkownik potwierdził, że ten sam sposób zadziałał również u niego.
Czy biblioteka zewnętrzna ustawia zewnętrzny dysk jako główne miejsce przesyłania plików Immich?
Nie. Biblioteki zewnętrzne indeksują pliki, które już znajdują się poza zarządzanym przez Immich magazynem przesyłanych plików.
Jaką ścieżkę mam wpisać w Immich?
Użyj ścieżki po stronie kontenera z mapowania Dockera, a nie ścieżki hosta ZimaOS.
Czy należy użyć :ro?
Tak, gdy folder zewnętrzny jest archiwum, które Immich powinien tylko odczytywać. Usuń tryb tylko do odczytu wyłącznie wtedy, gdy chcesz, aby Immich celowo modyfikował lub usuwał znajdujące się tam pliki.
