Jak powiązane są Gallery i Immich
Noodle Gallery to przyjazny fork Immicha, open-source'owej platformy do samodzielnie hostowanego zarządzania zdjęciami, stworzonej przez Alexa Trana i rosnącą społeczność. Gallery rebase'uje się na każdą wersję upstream Immicha, dzięki czemu poprawki błędów, usprawnienia wydajności i nowe funkcje od zespołu Immicha automatycznie trafiają do Gallery.
Ta relacja jest celowo prosta: Immich jest fundamentem. Gallery siada na nim i dokłada niewielką liczbę funkcji dla zastosowań, które nie mieszczą się w zakresie upstreamu. Ta sama baza danych, te same kontenery, ta sama droga powrotna. Jeśli zmienisz zdanie, powrót to zmiana w trzech wierszach.
Ta strona istnieje, ponieważ ludzie korzystający z Immicha słusznie pytają: „Co jest inne?” Odpowiedź zasługuje na jasność — nie dlatego, że uważamy upstream za gorszy.
Gdzie Immich napotyka granice — i jak Gallery je zamyka
Każda ekskluzywna funkcja Gallery zaczęła się od tej samej obserwacji: ktoś natknął się w Immichu na granicę i szukał wyjścia. Poniższe kategorie grupują te granice tematycznie — każda wraz z funkcjami Gallery, które je rozwiązują.
Osoby i tożsamość
Granica. Rozpoznawanie twarzy w Immichu kończy się na koncie. Ta sama realna osoba istnieje jako osobny wpis w Twojej bibliotece, w bibliotece Twojego partnera i w każdym współdzielonym albumie, którego oboje dotykacie. Gdy jej szukasz, znajdujesz jedną trzecią jej zdjęć. Gdy nadasz jej nazwę w jednym koncie, nic nie przenosi się na pozostałe. Strona osób pokazuje, w którym pojemniku ktoś się pojawia — a nie kto faktycznie przewija się przez Twoje życie.
Jak Gallery to rozwiązuje.
- Globalne Osoby — świadome tożsamości osoby, filtry i wyniki wyszukiwania deduplikują się w Twojej prywatnej bibliotece i w każdej przestrzeni z włączoną osią czasu, do której masz dostęp. Jeden wiersz na stronie osób, jedna podpowiedź w filtrach, jedno trafienie w wyszukiwaniu — bez przekraczania jakiejkolwiek granicy uprawnień, po której właściwej stronie i tak już się nie znajdujesz. Nadawanie nazw, scalanie i daty urodzin pozostają tam, gdzie zostały wprowadzone; warstwa tożsamości pod spodem łączy to, co dowodnie jest tą samą osobą.
Udostępnianie i współpraca
Granica. Dwa prymitywy udostępniania w Immichu — udostępnianie partnerowi i albumy — napotykają granice przy więcej niż dwóch osobach. Udostępnianie partnerowi jest wszystko albo nic. Albumy należą do osoby, która je utworzyła. Nie ma wspólnej rodzinnej osi czasu, dziennika aktywności, „co nowego od mojej ostatniej wizyty“ ani sposobu na udostępnienie dziesiątek tysięcy zdjęć bez ręcznego ich wybierania.
Jak Gallery to rozwiązuje.
- Przestrzenie Współdzielone — wspólne osie czasu z rolami właściciela, edytora i widza, rozpoznawaniem twarzy między kontami, integracją z osią czasu, śledzeniem ostatniej wizyty i dziennikiem aktywności.
- Filtrowanie przestrzeni — pełen zestaw filtrów wewnątrz pojedynczej przestrzeni.
- Grupy użytkowników — nazwane, oznaczone kolorami grupy do udostępniania jednym kliknięciem.
- Zbiorcze dodawanie do przestrzeni — dodawanie setek tysięcy zdjęć do przestrzeni w zadaniu w tle.
Wyszukiwanie i odkrywanie
Granica. Każda strona w Immichu ma własne wyszukiwanie; nie ma globalnego, sterowanego klawiaturą punktu wejścia. Wyniki Smart Search wracają w kolejności trafności, bez sortowania po dacie i bez progu podobieństwa. Filtry działają w izolacji.
Jak Gallery to rozwiązuje.
- Grupowanie osi czasu — masz problem ze znalezieniem zdjęcia, gdy Twoja biblioteka obejmuje ponad 20 lat? Przełączaj każdą oś czasu między latami, miesiącami i Wszystkim oraz przybliżaj i oddalaj, aby znaleźć dokładnie te zdjęcia, których szukasz. Dotknij karty roku lub miesiąca, aby zanurzyć się w tym okresie, bez zawężania zapytania; Twoja pozycja przewijania zostaje zachowana po powrocie.
- Wbudowane filtry wyszukiwania — osoby, tagi, daty, miejsca, oceny, typ mediów, ulubione, aparaty i filtry albumów wpisywane wprost w pasek wyszukiwania, z podpowiedziami na żywo przed naciśnięciem Enter.
- Globalne wyszukiwanie — Cmd/Ctrl+K jako centralny interfejs wyszukiwania zdjęć, osób, miejsc, tagów, poleceń i stron.
- Paleta wyszukiwania — sterowana klawiaturą paleta poleceń z prefiksami i poleceniami kontekstowymi.
- Sortowanie wyszukiwania i trafność — sortowanie po dacie lub trafności i dostosowywanie progów podobieństwa.
- Filtry zależne — każdy filtr zawęża na żywo każdy inny filtr.
- Smart Search i filtry kontekstowe — naturalne wyszukiwanie w przestrzeniach z adaptacyjnymi podpowiedziami filtrów.
- Filtrowanie mapy — panel filtrów wprost w widoku mapy.
AI i automatyzacja
Granica. Powierzchnia AI w Immichu skupia się na twarzach i podstawowym wyszukiwaniu CLIP. Zwierzęta nie są rozpoznawane. Wspomnienia pokazują tylko „On This Day”. Nie ma automatycznego sposobu, by usunąć bałagan z osi czasu.
Jak Gallery to rozwiązuje.
- Automatyczna klasyfikacja — tagowanie i archiwizowanie bałaganu, takiego jak zrzuty ekranu, memy i paragony, za pomocą CLIP.
- Archiwum wspomnień — przeszukiwanie zapisanych wygenerowanych wspomnień i konfigurowanie ich przechowywania.
- Mądrzejsze wspomnienia — wspomnienia z podróży i urodzin z regułami po stronie serwera.
- Wykrywanie zwierząt — YOLO11 rozpoznaje psy, koty, ptaki i inne zwierzęta.
- Wykrywanie duplikatów wideo — znajdowanie zduplikowanych filmów mimo ponownego kodowania, skalowania czy zmiany formatu.
Zarządzanie mediami i migracja
Granica. Przycinanie filmów w Immichu oznacza: wyeksportuj, edytuj zewnętrznie, zaimportuj ponownie. Przejście z Google Zdjęć wymaga narzędzi CLI i skryptów. Magazyn to lokalny dysk lub biblioteki zewnętrzne, ale nie natywny magazyn zgodny z S3.
Jak Gallery to rozwiązuje.
- Przycinanie wideo — bezstratne przycinanie filmów przez stream copy.
- Połączone biblioteki — natychmiastowe udostępnianie bibliotek zewnętrznych w Przestrzeniach Współdzielonych.
- Import z Google Zdjęć — importowanie archiwów Google Takeout wprost w przeglądarce.
- Magazyn zgodny z S3 — korzystanie z AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi lub dowolnego magazynu zgodnego z S3.
Aplikacja mobilna
Granica. Filtry osi czasu w aplikacji Immicha oznaczają przejście na osobną zakładkę wyszukiwania i utratę pozycji przewijania. Zaawansowane powierzchnie, takie jak mapa, wyszukiwanie z zakresem i Przestrzenie Współdzielone, leżą głębiej w aplikacji albo ich brakuje.
Jak Gallery to rozwiązuje.
- Filtrowanie zdjęć na telefonie — dolny panel na zakładce Zdjęcia filtruje po osobach, miejscach, tagach, dacie, ocenie i typie mediów, bez opuszczania widoku siatki.
- Noodle Gallery na iPhone'a — natywna aplikacja iOS w App Store z kopią zapasową aparatu, wyszukiwaniem CLIP na urządzeniu, mapą i podglądem Przestrzeni Współdzielonych.
- Noodle Gallery na Androida — natywna aplikacja Android w Google Play z kopią zapasową aparatu, wyszukiwaniem CLIP na urządzeniu, mapą i Przestrzeniami Współdzielonymi.
Granice w bezpośrednim porównaniu
Skondensowane zestawienie tych samych luk i ich rozwiązań — przydatne, gdy chcesz zobaczyć cały obraz w tabeli.
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}image: ghcr.io/open-noodle/gallery-server:${IMMICH_VERSION:-release}image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}image: ghcr.io/open-noodle/gallery-ml:${IMMICH_VERSION:-release}image: ghcr.io/open-noodle/gallery-server:${IMMICH_VERSION:-release}
image: ghcr.io/open-noodle/gallery-ml:${IMMICH_VERSION:-release} | Gdzie Immich napotyka granice | Jak Gallery to rozwiązuje |
|---|---|
| Filtry mobilne opuszczają zakładkę Zdjęcia i tracą pozycję przewijania | Panel filtrów wprost w zakładce Zdjęcia — osoby, miejsca, tagi, data, ocena, typ mediów |
| Udostępnianie partnerowi jest wszystko albo nic; albumy należą do osoby, która je tworzy; rozpoznawanie twarzy kończy się na koncie | Przestrzenie Współdzielone z osiami czasu o wielu właścicielach, rolami, rozpoznawaniem twarzy między kontami, śledzeniem ostatniej wizyty i dziennikiem aktywności |
| Ta sama osoba może pojawiać się jako wiele wpisów w bibliotekach prywatnych i współdzielonych | Globalne Osoby — świadome tożsamości wiersze osób, filtry i wyniki wyszukiwania w dostępnych przestrzeniach z osią czasu |
| Zwierzęta nie są rozpoznawane | Wykrywanie zwierząt z YOLO11 i własnymi grupami zwierząt |
| Wspomnienia pokazują tylko “On This Day” | Mądrzejsze wspomnienia z retrospekcjami z podróży i urodzin |
| Wygenerowane wspomnienia znikają po swoim dziennym oknie karuzeli | Archiwum wspomnień z wyszukiwaniem i konfigurowalnym przechowywaniem |
| Każda strona ma własne wyszukiwanie; brak globalnego punktu wejścia z klawiatury | Paleta wyszukiwania przez Cmd/Ctrl+K z dowolnego miejsca |
| Zaawansowane filtry wymagają opuszczenia przepływu klawiaturowego i przejścia do panelu filtrów | Wbudowane filtry wyszukiwania — strukturalne filtry wpisywane wprost w pasek wyszukiwania, z podpowiedziami na żywo i współdzielonym stanem URL |
| Nawigacja po dużych bibliotekach oznacza przewijanie przez każdy dzienny kubełek — brak skoku do roku czy miesiąca jednym spojrzeniem | Grupowanie osi czasu — przełącznik Lata / Miesiące / Wszystko na każdej osi czasu; przybliżanie i oddalanie przez dotknięcie karty roku lub miesiąca, aby szybko znaleźć zdjęcie w dekady starej bibliotece |
| Smart Search nie ma sortowania po dacie ani progu trafności | Sortowanie po dacie, nieskończone przewijanie po dacie, regulowany próg podobieństwa |
| Filtry działają w izolacji | Filtry zależne zawężają się nawzajem na żywo |
| Mapa nie ma własnego panelu filtrów | Pełen panel filtrów na mapie, znaczniki aktualizują się na żywo |
| Brak natywnego magazynu zgodnego z S3 | AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi lub dowolny magazyn zgodny z S3 |
| Import z Google Zdjęć wymaga narzędzi CLI i skryptów | Prowadzony kreator importu archiwów Google Takeout w przeglądarce |
| Przycinanie filmów oznacza eksport i ponowne kodowanie | Bezstratne przycinanie przez stream copy, niemal natychmiastowe |
Co ważne: każde rozwiązanie powyżej jest addytywne. Gallery nie zastępuje niczego, co robi Immich. Funkcje podstawowe, REST API, oficjalne aplikacje Immicha, integracje zewnętrzne, Frame, automatyka domowa — wszystko nadal działa na serwerze Gallery.
Czy powinieneś zostać przy upstream Immichu?
Istnieją realne powody, by uruchamiać upstream Immicha zamiast forka. To nie są punkty na zasłonę dymną, lecz przypadki, w których upstream jest właściwym wyborem.
Wielkość społeczności i historia
Immich działa od 2022 roku, ma dziesiątki tysięcy gwiazdek na GitHubie, wielu kontrybutorów i duży Discord. Jeśli zależy Ci na komforcie dużej społeczności, upstream jest właściwym miejscem.
Szersze testowanie na różnych platformach
Upstream Immich działa na bardzo wielu kombinacjach sprzętu i NAS-ów. Jeśli Twoja konfiguracja jest nietypowa, ta większa powierzchnia testowa pomaga.
Nie potrzebujesz dodatków
Jeśli nie potrzebujesz Przestrzeni Współdzielonych, wykrywania zwierząt, magazynu S3, importów Google Takeout ani zaawansowanych filtrów, upstream Immich już robi wszystko, czego chcesz.
Migracja z Immicha to zmiana w trzech wierszach
Jeśli Immich już u Ciebie działa i chcesz wypróbować Gallery,
przejście jest trywialne. Zamień dwie nazwy obrazów w swoim docker-compose.yml
i ustaw IMMICH_VERSION w swoim .env na v4.
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} image: ghcr.io/open-noodle/gallery-server:${IMMICH_VERSION:-release} image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} image: ghcr.io/open-noodle/gallery-ml:${IMMICH_VERSION:-release} IMMICH_VERSION=release IMMICH_VERSION=v4 Następnie pobierz nowe obrazy i uruchom ponownie:
docker compose pull && docker compose up -d Bez migracji danych. Bez konwersji bazy danych. Bez kopiowania plików. Twoja biblioteka zostaje dokładnie tam, gdzie jest.
docker exec -t your-db-container pg_dumpall -U postgres > backup.sql Pełny przewodnik krok po kroku znajdziesz na stronie instalacji. Zobacz przewodnik migracji →
Gallery dostarcza skrypt SQL czyszczący, który usuwa wszystkie rozszerzenia bazy danych specyficzne dla Gallery. Twoje zdjęcia i filmy nigdy nie są ruszane. Wystarczy zamienić dwie nazwy obrazów z powrotem i znów jesteś na upstreamie.
Przeczytaj przewodnik powrotuZadaniem Gallery jest udostępnienie niewielkiej liczby dodatkowych funkcji, bez zmuszania Cię do wyboru między nimi a roadmapą Immicha.
Najczęstsze pytania
Czy moje dane są bezpieczne przy przejściu z Immicha na Noodle Gallery?
Tak. Gallery używa tego samego schematu bazy danych, tej samej struktury katalogu uploadów i tych samych formatów plików co upstream Immich. Migracja sprowadza się do zmiany dwóch nazw obrazów w Twoim docker-compose.yml. Twoja biblioteka nigdy nie jest kopiowana, przekształcana ani nadpisywana — Gallery czyta i zapisuje te same pliki, których Immich już używa.
Czy mogę później wrócić do upstream Immicha?
Tak. Gallery dostarcza skrypt czyszczący, który usuwa z bazy danych każdą tabelę, kolumnę i znacznik migracji specyficzny dla Gallery. Twoje zdjęcia i filmy nigdy nie są ruszane. Uruchamiasz skrypt, przywracasz dwie nazwy obrazów na ghcr.io/immich-app/immich-server i ghcr.io/immich-app/immich-machine-learning, wykonujesz docker compose pull i znów jesteś na upstreamie.
Czy Gallery z czasem oddali się od Immicha?
Nie, celem jest dokładnie odwrotne. Gallery rebase'uje się na każdą wersję upstream Immicha, dzięki czemu poprawki błędów, usprawnienia wydajności i nowe funkcje od zespołu Immicha automatycznie trafiają do Gallery. Ekskluzywne funkcje Gallery są addytywne — leżą na upstreamie, a nie zamiast niego.
Jak szybko Gallery rebase'uje się po nowej wersji Immicha?
Zwykle w ciągu kilku dni. Proces rebase'u jest zautomatyzowany tam, gdzie ma to sens, i ręczny tam, gdzie to konieczne. Celem jest pozostawanie na tyle blisko, żeby Gallery sprawiało wrażenie lekko rozszerzonego Immicha, a nie innego projektu.
Czy Gallery ma aplikację mobilną?
Tak. Noodle Gallery jest dostępne w App Store na iPhone'a i w Google Play na Androida, z kopią zapasową aparatu w tle, wyszukiwaniem CLIP na urządzeniu, widokiem mapy i Przestrzeniami Współdzielonymi. Aplikacje upstream Immicha również nadal działają z serwerami Gallery dzięki wspólnemu API.
Czy zewnętrzne aplikacje dla Immicha nadal działają z Noodle Gallery?
Tak, w pełni. Gallery udostępnia to samo REST API co upstream Immich — te same endpointy, te same ścieżki, te same payloady. Wszystko, co działa z Immichem, działa bez zmian również z Gallery: klienci mobilni, oficjalne aplikacje Immicha, Immich Frame, integracje automatyki domowej, narzędzia CLI i skrypty.
Po co w ogóle forkować, zamiast wnosić funkcje do upstreamu?
Kilka ekskluzywnych funkcji Gallery, takich jak Przestrzenie Współdzielone, wykrywanie zwierząt i filtry kontekstowe, zostało odrzuconych przez upstream, uznanych za wykraczające poza jego zakres lub wymagałoby zmian architektonicznych niepasujących do roadmapy Immicha. Fork pozwala eksperymentować bez spowalniania zespołu upstream — a rebase oznacza, że nie tracimy ich postępów.
Słowo o zespole upstream Immicha
Noodle Gallery istnieje, ponieważ istnieje Immich. Zespołowi upstream zawdzięczamy architekturę, projekt bazy danych, aplikacje mobilne, integrację CLIP i ogromne tempo wydań. Jeśli Gallery okaże się dla Ciebie przydatne, daj proszę również immich-app/immich gwiazdkę, sponsoring lub wkład.