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.
- Globale Personen — identiteitsbewuste personen, filters en zoekresultaten ontdubbelen over je privébibliotheek en elke timeline-ingeschakelde Space heen waartoe je toegang hebt. Eén regel op de pagina Personen, één suggestie in filters, één treffer in het zoeken — zonder dat ooit een rechtengrens wordt overschreden waar je niet al aan de juiste kant van stond. Naamgeving, samenvoeging en verjaardagen blijven waar ze zijn ingevoerd; de identiteitslaag eronder verbindt wat aantoonbaar dezelfde persoon is.
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.
- Gedeelde Spaces — gezamenlijke timelines met de rollen Eigenaar, Editor en Viewer, accountoverstijgende gezichtsherkenning, timeline-integratie, last-visit-tracking en een activiteitenlog.
- Spaces-filtering — de volledige filterset binnen één Space.
- Gebruikersgroepen — benoemde, kleurgecodeerde groepen om met één klik te delen.
- Bulksgewijs toevoegen aan Spaces — honderdduizenden foto's via een achtergrondtaak aan een Space toevoegen.
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.
- Timeline-groepering — moeite om een foto te vinden als je bibliotheek meer dan 20 jaar beslaat? Wissel elke timeline tussen Jaren, Maanden en Alles en zoom in en uit om precies de gezochte foto's te vinden. Tik op een jaar- of maandkaart om in die periode te duiken zonder de zoekopdracht in te perken; je scrollpositie blijft bij het terugschakelen behouden.
- Inline zoekfilters — personen, tags, datums, plaatsen, beoordelingen, mediatype, favorieten, camera's en albumfilters direct in de zoekbalk typen, met live-suggesties vóór Enter.
- Globaal zoeken — Cmd/Ctrl+K als centrale zoekoppervlakte voor foto's, personen, plaatsen, tags, commando's en pagina's.
- Zoekpalet — toetsenbordgericht commandopalet met prefixen en contextgebonden commando's.
- Zoeksortering & relevantie — sorteren op datum of relevantie en overeenkomstdrempels aanpassen.
- Afhankelijke filters — elk filter perkt elk ander filter live in.
- Smart Search & contextfilters — natuurlijk zoeken binnen Spaces met adaptieve filtersuggesties.
- Kaartfiltering — filterpaneel direct op de kaartweergave.
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.
- Automatische classificatie — rommel zoals screenshots, memes en bonnetjes via CLIP taggen en archiveren.
- Herinneringenarchief — opgeslagen gegenereerde herinneringen doorzoeken en bewaarduur instellen.
- Slimmere herinneringen — reis- en verjaardagsherinneringen met serverregels.
- Huisdierherkenning — YOLO11 herkent honden, katten, vogels en andere dieren.
- Detectie van dubbele video's — dubbele video's vinden ondanks her-encodering, schaling of formaatwissel.
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.
- Video's bijsnijden — video's verliesvrij bijsnijden via stream copy.
- Verbonden bibliotheken — externe bibliotheken direct zichtbaar maken in Gedeelde Spaces.
- Google Foto's importeren — Google Takeout-archieven rechtstreeks in de browser importeren.
- S3-compatibele opslag — AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi of elke S3-compatibele opslag gebruiken.
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.
- Fotofilters op je telefoon — een bottom sheet op het Foto's-tabblad filtert op personen, plaatsen, tags, datum, beoordeling en mediatype, zonder de rasterweergave te verlaten.
- Noodle Gallery voor iPhone — native iOS-app in de App Store met camera-back-up, CLIP-zoeken op het toestel, kaart en een voorvertoning van Gedeelde Spaces.
- Noodle Gallery voor Android — native Android-app in Google Play met camera-back-up, CLIP-zoeken op het toestel, kaart en Gedeelde Spaces.
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.
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} | 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.
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 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.
docker exec -t your-db-container pg_dumpall -U postgres > backup.sql De volledige stapsgewijze handleiding staat op de installatiepagina. Migratiehandleiding bekijken →
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 wisselenDe 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.