Hoe Gallery en Immich samenhangen

Noodle Gallery is een vriendelijke fork van Immich, het open-source platform voor zelfgehoste fotobeheer van Alex Tran en een groeiende community. Gallery rebaset op elke upstream Immich-release, zodat bugfixes, prestatieverbeteringen en nieuwe functies van het Immich-team automatisch in Gallery terechtkomen.

De relatie is bewust eenvoudig: Immich is het fundament. Gallery zit daarbovenop en voegt een klein aantal functies toe voor gebruikssituaties die niet in de scope van upstream passen. Dezelfde database, dezelfde containers, dezelfde weg terug. Bedenk je je, dan is teruggaan een wijziging van drie regels.

Deze pagina bestaat omdat mensen die van Immich komen terecht vragen: "Wat is er anders?" Het antwoord verdient duidelijkheid — niet omdat we upstream als slechter beschouwen.

Waar Immich tegen grenzen aanloopt — en hoe Gallery ze opvult

De exclusieve functies van Gallery begonnen telkens met dezelfde observatie: iemand liep in Immich tegen een grens aan en ging op zoek naar een uitweg. De categorieën hieronder groeperen die grenzen per thema — telkens met de Gallery-functies die ze oplossen.

Personen en identiteit

De grens. De gezichtsherkenning van Immich stopt bij het account. Dezelfde echte persoon bestaat als aparte vermelding in jouw bibliotheek, in de bibliotheek van je partner en in elk gedeeld album dat jullie beiden raken. Zoek je naar die persoon, dan vind je een derde van hun foto's. Geef je ze een naam in één account, dan wordt er niets overgedragen naar de andere. De pagina Personen laat zien in welke container iemand opduikt — niet wie er daadwerkelijk in je leven voorkomt.

Zo lost Gallery dat op.

Delen en samenwerken

De grens. De twee deelprimitieven van Immich — partnerdeling en albums — lopen tegen grenzen aan bij meer dan twee personen. Partnerdeling is alles of niets. Albums zijn van de persoon die ze heeft gemaakt. Er is geen gezamenlijke familietimeline, geen activiteitenlog, geen „wat is er nieuw sinds mijn laatste bezoek“ en geen manier om tienduizenden foto's te delen zonder ze met de hand te selecteren.

Zo lost Gallery dat op.

Zoeken en ontdekken

De grens. Elke pagina in Immich heeft zijn eigen zoekfunctie; er is geen globaal, toetsenbordgericht startpunt. Smart-search-resultaten komen in relevantievolgorde terug, zonder sortering op datum of overeenkomstdrempel. Filters werken in isolatie.

Zo lost Gallery dat op.

AI en automatisering

De grens. De AI-oppervlakte van Immich richt zich op gezichten en basale CLIP-zoekfunctie. Huisdieren worden niet herkend. Herinneringen tonen alleen "On This Day". Er is geen automatische manier om rommel uit de timeline te verwijderen.

Zo lost Gallery dat op.

Mediabeheer en migratie

De grens. Video's bijsnijden betekent in Immich: exporteren, extern bewerken, opnieuw importeren. Overstappen van Google Foto's vereist CLI-tools en scripts. Opslag is lokale schijf of externe bibliotheken, maar geen native S3-compatibele backend-opslag.

Zo lost Gallery dat op.

Mobiel

De grens. Timeline filteren in de Immich-app betekent overschakelen naar een apart zoektabblad en je scrollpositie verliezen. Geavanceerde oppervlakken zoals kaart, scoped search en Gedeelde Spaces zitten dieper in de app verstopt of ontbreken.

Zo lost Gallery dat op.

De grenzen in een directe vergelijking

Een verdichte weergave van dezelfde lacunes en hun oplossingen — handig als je het totaalplaatje in één tabel wilt zien.

docker-compose.yml
-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}
Volledige migratiehandleiding
Waar Immich tegen grenzen aanloopt Hoe Gallery het oplost
Mobiele filters verlaten het Foto's-tabblad en verliezen de scrollpositie Filtersheet direct op het Foto's-tabblad — personen, plaatsen, tags, datum, beoordeling, mediatype
Partnerdeling is alles of niets; albums zijn van de maker; gezichtsherkenning stopt bij het account Gedeelde Spaces met timelines met meerdere eigenaren, rollen, accountoverstijgende gezichtsherkenning, last-visit-tracking en een activiteitenlog
Dezelfde persoon kan als meerdere vermeldingen verschijnen in privé- en gedeelde bibliotheken Globale Personen — identiteitsbewuste personenregels, filters en zoekresultaten over toegankelijke timeline-Spaces heen
Huisdieren worden niet herkend Huisdierherkenning met YOLO11 en eigen huisdiergroepen
Herinneringen tonen alleen “On This Day” Slimmere herinneringen met reis- en verjaardagsterugblikken
Gegenereerde herinneringen verdwijnen na hun dagelijkse carouselvenster Herinneringenarchief met zoekfunctie en instelbare bewaarduur
Elke pagina heeft een eigen zoekfunctie; geen globaal toetsenbordstartpunt Zoekpalet via Cmd/Ctrl+K vanaf overal
Geavanceerde filters vereisen dat je de toetsenbordflow verlaat voor het filterpaneel Inline zoekfilters — gestructureerde filters direct in de zoekbalk typen, met live-suggesties en deelbare URL-status
Een grote bibliotheek doorlopen betekent door elke dagbucket scrollen — geen sprong naar een jaar of maand in één oogopslag Timeline-groepering — schakelaar Jaren / Maanden / Alles op elke timeline; door op een jaar- of maandkaart te tikken in en uit zoomen om snel een foto te vinden in een decennia-oude bibliotheek
Smart Search heeft geen datumsortering en geen relevantiedrempel Datumsortering, infinite scroll op datum, instelbare overeenkomstdrempel
Filters werken in isolatie Afhankelijke filters perken elkaar live in
De kaart heeft geen eigen filterpaneel Volledig filterpaneel op de kaart, markers werken live bij
Geen native S3-compatibele opslag AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi of elke S3-compatibele opslag
Google Foto's importeren vereist CLI-tools en scripts Begeleide importwizard voor Google Takeout-archieven in de browser
Video's bijsnijden betekent exporteren en opnieuw encoderen Verliesvrij bijsnijden via stream copy, vrijwel direct

Belangrijk: elke oplossing hierboven is aanvullend. Gallery vervangt niets van wat Immich doet. Kernfuncties, REST-API, officiële Immich-apps, externe integraties, Frame, domotica — alles blijft werken op een Gallery-server.

Moet je bij upstream Immich blijven?

Er zijn echte redenen om upstream Immich te draaien in plaats van de fork. Dat zijn geen alibipunten, maar gevallen waarin upstream de juiste keuze is.

Communitygrootte en historie

Immich is sinds 2022 actief, heeft tienduizenden GitHub-sterren, veel contributors en een grote Discord. Als je het comfort van een grote community wilt, is upstream de juiste plek.

Bredere platformtests

Upstream Immich draait op heel veel hardware- en NAS-combinaties. Als jouw opstelling ongebruikelijk is, helpt dat grotere testoppervlak.

Je hebt de aanvullingen niet nodig

Als je geen Gedeelde Spaces, huisdierherkenning, S3-opslag, Google Takeout-imports of geavanceerde filters nodig hebt, doet upstream Immich al alles wat je wilt.

Migreren van Immich is een wijziging van drie regels

Als Immich bij jou al draait en je Gallery wilt uitproberen, is de overstap triviaal. Vervang twee image-namen in je docker-compose.yml en zet IMMICH_VERSION in je .env op v4.

2 bestanden gewijzigd +3 −3
docker-compose.yml
- 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}
.env
- IMMICH_VERSION=release
+ IMMICH_VERSION=v4

Laad daarna de nieuwe images en herstart:

docker compose pull && docker compose up -d

Geen datamigratie. Geen databaseconversie. Geen bestanden kopiëren. Je bibliotheek blijft precies waar die staat.

Maak vooraf een back-up van je database — één commando volstaat: docker exec -t your-db-container pg_dumpall -U postgres > backup.sql

De volledige stapsgewijze handleiding staat op de installatiepagina. Migratiehandleiding bekijken →

Van gedachten veranderd? Wissel terug met één script.

Gallery bevat een opschoon-SQL dat alle Gallery-specifieke database-uitbreidingen verwijdert. Je foto's en video's worden nooit aangeraakt. Wissel gewoon de twee image-namen terug en je draait weer op upstream.

Lees de handleiding om terug te wisselen
De taak van Gallery is om een klein aantal extra functies beschikbaar te maken, zonder dat je hoeft te kiezen tussen die functies en de Immich-roadmap.

Veelgestelde vragen

Zijn mijn gegevens veilig als ik van Immich naar Noodle Gallery overstap?

Ja. Gallery gebruikt hetzelfde databaseschema, dezelfde uploadmapstructuur en dezelfde bestandsformaten als upstream Immich. De migratie bestaat uit twee gewijzigde image-namen in je docker-compose.yml. Je bibliotheek wordt nooit gekopieerd, omgezet of herschreven — Gallery leest en schrijft dezelfde bestanden die Immich al gebruikt.

Kan ik later weer terug naar upstream Immich?

Ja. Gallery bevat een opschoonscript dat elke Gallery-specifieke tabel, kolom en migratiemarkering uit de database verwijdert. Je foto's en video's worden nooit aangeraakt. Voer het script uit, zet de twee image-namen terug op ghcr.io/immich-app/immich-server en ghcr.io/immich-app/immich-machine-learning, voer docker compose pull uit en je draait weer op upstream.

Gaat Gallery na verloop van tijd uit de pas lopen met Immich?

Nee, het doel is juist het tegenovergestelde. Gallery rebaset op elke upstream Immich-release, zodat bugfixes, prestatieverbeteringen en nieuwe functies van het Immich-team automatisch in Gallery terechtkomen. De exclusieve functies van Gallery zijn aanvullend — ze liggen bovenop upstream, niet in plaats daarvan.

Hoe snel rebaset Gallery na een nieuwe Immich-release?

Meestal binnen enkele dagen. Het rebaseproces is geautomatiseerd waar dat zinvol is en handmatig waar dat nodig is. Het doel is om dicht genoeg in de buurt te blijven dat Gallery aanvoelt als een licht uitgebreid Immich, niet als een ander project.

Heeft Gallery een mobiele app?

Ja. Noodle Gallery is beschikbaar in de App Store voor iPhone en in Google Play voor Android, met camera-back-up op de achtergrond, CLIP-zoeken op het toestel, kaartweergave en Gedeelde Spaces. De upstream Immich-apps blijven via de gedeelde API ook werken met Gallery-servers.

Blijven externe apps voor Immich werken met Noodle Gallery?

Ja, volledig. Gallery biedt dezelfde REST-API als upstream Immich — dezelfde endpoints, dezelfde paden, dezelfde payloads. Alles wat met Immich werkt, werkt zonder aanpassing ook met Gallery: mobiele clients, officiële Immich-apps, Immich Frame, integraties voor domotica, CLI-tools en scripts.

Waarom überhaupt forken in plaats van functies upstream bijdragen?

Verschillende Gallery-exclusieve functies zoals Gedeelde Spaces, huisdierherkenning en contextfilters werden upstream afgewezen, als buiten de scope beschouwd, of zouden architectuurwijzigingen hebben vereist die niet bij de Immich-roadmap pasten. De fork maakt experimenteren mogelijk zonder het upstream-team af te remmen — en door te rebasen verliezen we hun vooruitgang niet.

Een woord over het upstream Immich-team

Noodle Gallery bestaat omdat Immich bestaat. We hebben aan het upstream-team te danken: de architectuur, het databaseontwerp, de mobiele apps, de CLIP-integratie en het enorme releasetempo. Vind je Gallery nuttig, geef dan ook immich-app/immich een ster, een sponsoring of een bijdrage.