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.

De gezichten waar herkenning zich niet aan wil branden

De grens. Gezichtsherkenning is met opzet behoudend, en daar is een goede reden voor: de fouten wegen niet even zwaar. Een gezicht dat nooit is toegewezen, is een klein, stil verlies. Een gezicht dat aan de verkeerde persoon wordt toegewezen, verspreidt zich — naar het zoeken, naar de herinneringen, naar het album dat iedereen ziet — en om het er weer uit te halen moet je elke plek terugvinden waar het beland is. Daarom houdt het model een strakke drempel aan en laat het alles wat daar net onder blijft met rust. De prijs is een lange staart van net-niet-treffers in elke bibliotheek: de portretfoto, die ene bij slecht licht, die van vier jaar geleden, allemaal ongekoppeld terwijl de persoon om wie het gaat een naam heeft en overduidelijk is. Immich geeft je geen manier om die staart door te werken, en geen manier om de clusters te ontwarren waarin twee personen tóch zijn samengesmolten. In beide richtingen is die drempel iets waar je maar mee moet leven.

Zo lost Gallery dat op.

De twee draaien op één gedeelde oordeelslaag, en dat is wat een beslissing in de één overal laat gelden — door samenvoegingen, hernoemingen en elke volgende scan heen. Samen maken ze van een behoudende drempel iets wat je niet langer permanent hoeft te betalen maar echt kunt corrigeren.

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.

Waar Immich tegen grenzen aanlooptHoe Gallery het oplost
Een gedeelde albumlijst is plat — niets om vijfentwintig albums op te groeperenNestbare albummappen in elke Shared Space, met covers, tellers en kruimelpad, op web en mobiel
Geen huisdierdetectie, dus geen manier om je eigen hond te vindenHuisdierherkenning vindt de katten en honden; Huisdieridentificatie maakt er benoemde individuen van op de Personen-pagina, op modellen die we zelf trainden en publiceerden
Automatisering houdt op bij de grens van een gedeelde bibliotheek — niets kan een binnenkomende foto voor je in een space opbergenWorkflows voor Shared Spaces — de acties „toevoegen aan space” en „toevoegen aan space-album”, geketend aan elke trigger of elk filter, waarbij het album wordt aangemaakt als het ontbreekt
Herinneringen vragen altijd maar één ding: „wat gebeurde er op deze datum?”, dus de meeste dagen blijven leeg en elke kaart ziet er hetzelfde uitGegenereerde herinneringen — negen regels erbij voor maanden, seizoenen, plaatsen, favorieten, personen samen, video’s, reisjubilea, thema’s en persoonsterugblikken, gespreid over de maand
Mobiele filters verlaten het Foto's-tabblad en verliezen de scrollpositieFiltersheet 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 accountGedeelde Spaces met timelines met meerdere eigenaren, rollen, accountoverstijgende gezichtsherkenning, last-visit-tracking en een activiteitenlog
Albums horen bij wie ze maakte en staan buiten elke gedeelde tijdlijnSpace-albums — koppel of maak albums binnen een Gedeelde Space, met bijdragen tussen eigenaren en per-album tijdlijnbeheer, op web en mobiel
Dezelfde persoon kan als meerdere vermeldingen verschijnen in privé- en gedeelde bibliothekenGlobale Personen — identiteitsbewuste personenregels, filters en zoekresultaten over toegankelijke timeline-Spaces heen
Herkenning is met opzet voorzichtig en slaat de twijfelgevallen over — en niets brengt die net-niet-treffers bij je terugGezichtssuggesties — net-niet-treffers verschijnen bij de persoon met een naam waar ze waarschijnlijk bij horen, één voor één te beoordelen, met elk antwoord duurzaam
Smelten twee personen samen in één cluster, dan betekent ontwarren dat je gezichten met de hand opnieuw toewijst, zonder enig gereedschapGezichten opschonen — een scan vindt vervuilde clusters en splitst ze in een baan die je in één ronde goedkeurt en een baan die jouw aandacht vraagt, met zes expliciete bestemmingen per gezicht
Het infopaneel toont de camera, plaats, datum en tags, maar je kunt er niets mee — filteren betekent vertrekken naar een zoekpaginaContextuele filters — klik op elke metadatawaarde om het scherm te filteren waar je al bent, met het filter in de URL
Huisdieren worden niet herkendHuisdierherkenning met RF-DETR, plus individueel benoemde huisdieren
Herinneringen tonen alleen “On This Day”Slimmere herinneringen met reis- en verjaardagsterugblikken
Gegenereerde herinneringen verdwijnen na hun dagelijkse carouselvensterHerinneringenarchief met zoekfunctie en instelbare bewaarduur
Elke pagina heeft een eigen zoekfunctie; geen globaal toetsenbordstartpuntZoekpalet via Cmd/Ctrl+K vanaf overal
Geavanceerde filters vereisen dat je de toetsenbordflow verlaat voor het filterpaneelInline 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 oogopslagTimeline-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 relevantiedrempelDatumsortering, infinite scroll op datum, instelbare overeenkomstdrempel
Filters werken in isolatieAfhankelijke filters perken elkaar live in
De kaart heeft geen eigen filterpaneelVolledig filterpaneel op de kaart, markers werken live bij
Geen native S3-compatibele opslagAWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi of elke S3-compatibele opslag
Google Foto's importeren vereist CLI-tools en scriptsBegeleide importwizard voor Google Takeout-archieven in de browser
Video's bijsnijden betekent exporteren en opnieuw encoderenVerliesvrij bijsnijden via stream copy, vrijwel direct

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

Omkeerbare Immich-migratie

Probeer Gallery op je bestaande Immich-bibliotheek.

Wijzig drie regels configuratie, behoud dezelfde database en dezelfde uploads, en gebruik het terugwisselscript als Gallery niets voor je is. Je foto's en video's blijven precies waar ze staan.

In 5 minuten installeren

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.ymlen zet IMMICH_VERSION in je .env op v5.

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=v5

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.

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. Tools die op de Immich-API zijn gebouwd, werken zonder aanpassing ook met Gallery: mobiele clients, Immich Frame, integraties voor domotica, CLI-tools en scripts. Noodle Gallery heeft daarnaast een eigen iOS- en Android-app.

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/immicheen ster, een sponsoring of een bijdrage.