---
title: "ImmichFrame vs Immich Kiosk: welke fotolijst past bij jouw setup?"
description: "ImmichFrame en Immich Kiosk maken allebei van je Immich-bibliotheek een digitale fotolijst. Onder de motorkap maken ze heel andere keuzes. Zo verhouden ze zich qua architectuur, clients, configuratie en beveiliging."
url: "https://pixelunion.eu/nl/blog/immichframe-vs-immich-kiosk/"
date: "2026-10-03"
author: "Marc"
categories: ["Community"]
tags: ["Immich","ImmichFrame","Immich Kiosk","Open source","Self-hosting"]
---


Vorig jaar schreven we over [Immich Kiosk](/nl/blog/immich-kiosk/) en [ImmichFrame](/nl/blog/immichframe/). Sindsdien hebben beide projecten flink wat releases uitgebracht. De vraag die we van gebruikers krijgen, is mee veranderd. Vroeger was het "kan dit?" Nu is het "welke moet ik kiezen?"

Aan de oppervlakte doen ze hetzelfde. Beide verbinden met je Immich-server via een API-sleutel en tonen je foto's schermvullend op een display ergens in huis. Beide zijn communityprojecten, niet verbonden aan Immich. Beide werken met een PixelUnion-account op dezelfde manier als met een zelf gehoste server: wijs ze naar `https://<username>.pixelunion.eu` en geef ze een API-sleutel.

De featurelijsten overlappen bijna volledig, dus die laat ik grotendeels links liggen. Wat deze twee onderscheidt, is architectuur. Deze post behandelt de huidige versies: [ImmichFrame v1.0.38](https://github.com/immichFrame/ImmichFrame/releases) (14 september 2026) en [Immich Kiosk v0.44.1](https://github.com/damongolding/immich-kiosk/releases) (25 september 2026).

## Twee verschillende ideeën over wat een fotolijst is

### Immich Kiosk: één server, geconfigureerd via de URL

Immich Kiosk, gebouwd door Damon Golding, is één Go-binary. Het gebruikt Echo voor HTTP en templ voor server-side templates, en serveert een webpagina op poort 3000. Dat is het hele product. Het display is elke willekeurige browser: een Raspberry Pi met Chromium in kioskmodus, een oude tablet met Fully Kiosk Browser, een smart-tv, een Google Cast-ontvanger.

De ontwerpkeuze die ertoe doet: bijna elke instelling in `config.yaml` is te overschrijven met een URL-queryparameter. Eén Kiosk-container kan elk scherm in je huis aansturen, elk met zijn eigen gedrag:

```
http://kiosk.local:3000/?album=ALBUM_ID&layout=splitview&transition=cross-fade
http://kiosk.local:3000/?person=PERSON_ID&show_time=true&image_fit=cover
```

De tablet in de keuken toont het familiealbum met een klok. Het scherm in de gang toont de foto's van één persoon in portretmodus. Zelfde server, zelfde configbestand, andere URL's. De keerzijde is dat iedereen op je netwerk die de pagina kan bereiken, kan veranderen wat er te zien is. Zit je daarmee, dan zet `disable_url_queries` het uit.

### ImmichFrame: een server plus native apps

ImmichFrame gaat de andere kant op. De server is C# op ASP.NET Core met een SvelteKit-frontend, geleverd als `ghcr.io/immichframe/immichframe` op poort 8080. Daarbovenop onderhoudt het project native clients:

- **Android**, via de Play Store of een gesideloade APK, inclusief een screensaverservice voor Android TV
- **Apple TV**, **iPhone en iPad** (iOS 17+) en Macs met Apple Silicon via de App Store
- **Desktop**-apps voor Windows, macOS en Linux
- **Frameo**-lijsten, de goedkope Android-lijstjes die je voor zo'n $40 vindt, gesideload via ADB (Android Debug Bridge)

De native apps zijn de reden dat ImmichFrame eruitziet zoals het eruitziet. Apple staat geen WebViews (ingebouwde browsercomponenten) toe op tvOS, dus de Apple TV-app bouwt het display opnieuw op met native bediening. Op Android TV kan ImmichFrame de systeemscreensaver vervangen, iets wat een browsertab niet kan. De Android-app draait ook een kleine HTTP-server op poort 53287 die `next`, `previous`, `pause`, `dim`, `undim` en `brightness?value=0.5` accepteert. Die laatste koppel je aan Home Assistant om de lijst te dimmen als het licht uitgaat.

De afweging zit in de configuratie. Die leeft op instance-niveau. Voor zover ik uit de documentatie kan opmaken, bestaat er geen equivalent van de per-URL-overrides van Kiosk, dus twee schermen met verschillende albums betekent meestal twee containers of twee accounts. Goedkoop om te draaien. Meer om te onderhouden.

## De details die ertoe doen voor power users

### Configuratie en state

Kiosk is config-as-code. Een YAML-bestand met een gepubliceerd JSON-schema voor autocomplete in je editor, omgevingsvariabelen voor secrets, en `watch_config` om te herladen bij wijzigingen. Het staat in een Git-repo naast de rest van je compose-bestanden.

ImmichFrame ging recent de andere kant op. Het levert nu een admin-UI op `/admin` waar elke instelling, inclusief Immich-accounts, in de browser te bewerken is en direct wordt toegepast. Instellingen worden opgeslagen in een SQLite-database (`immichframe.db`) in `/app/Config`. Een `Settings.yml` wordt eenmalig geïmporteerd, bij de eerste start. Daarna is de database de bron van waarheid en worden wijzigingen in het bestand genegeerd.

Dat laatste punt gaat mensen overvallen. Beheer je je homelab declaratief, dan is de config van ImmichFrame nu state die je moet back-uppen, geen bestand dat je kunt diffen. Klik je liever dan dat je YAML bewerkt, dan is het een verbetering. Geen van beide benaderingen is fout. Ze zijn gebouwd voor verschillende mensen.

### Contentselectie

Beide dekken de basis: albums, uitgesloten albums, personen, tags, beoordelingen, herinneringen, favorieten, datumbereiken en video (nog experimenteel in ImmichFrame). De verschillen zitten in de randen.

ImmichFrame is gebouwd rond **meerdere accounts**. Elk item onder `Accounts` heeft zijn eigen server-URL, API-sleutel en filters. Combineer je bibliotheek met die van je partner, of haal uit twee aparte Immich-servers, en de lijst mengt ze tot één diavoorstelling.

Kiosk gaat dieper in op filteren binnen één bibliotheek. `require_all_people` toont alleen foto's waarop iedereen die je opgaf samen staat, precies wat je wilt voor een lijst met "opa en oma met de kleinkinderen". Er is `excluded_people`, `excluded_partners`, `filter_exclude_faces` voor een scherm met alleen landschappen, en `filter_newest` om een bron te beperken tot de meest recente assets. Met `asset_weighting` aan verdrinkt een klein album niet in een groot album als je bronnen combineert. Kiosk ondersteunt ook meerdere gebruikers via `immich_users_api_keys`, per scherm te kiezen via de URL.

### Display en hardware

Beide bieden split-view-layouts voor twee portretfoto's op een liggend scherm, vervaagde achtergronden, zoom en pan in Ken Burns-stijl, een klok, en weer van OpenWeatherMap. ImmichFrame voegt agenda-overlays toe uit elke ICS-feed (iCalendar) via `Webcalendars`, wat er een prima keukendashboard van maakt.

Kiosk heeft meer opties voor hardware die altijd aan staat. `burn_in_interval` laat de UI periodiek in dekking zakken om OLED-panelen tegen inbranden te beschermen. `sleep_start` en `sleep_end` maken het scherm 's nachts zwart. `offline_mode` cachet een set assets lokaal, zodat een lijst op wankele wifi blijft werken. `optimize_images` schaalt op de server, zodat een Pi Zero niet elke 60 seconden een bestand van 48 MP hoeft te decoderen.

Houd je verwachtingen bij Frameo-hardware laag. Deze apparaten draaien Android 6. Tenzij je de systeem-WebView updatet, wat de ImmichFrame-documentatie beschrijft en waarvoor je `/system` als root opnieuw moet mounten, verlies je split view, ondersteuning voor HEIC (het fotoformaat van de iPhone) en video. Het werkt. Het is een goede manier om een lijst van $40 een tweede leven te geven. Het is ook een knutselproject, geen cadeau dat je in tien minuten instelt.

### Beveiliging

Een fotolijst staat de hele dag op je netwerk met een sleutel tot je complete fotobibliotheek. De meeste mensen stellen hem één keer in en kijken er daarna nooit meer naar. Die combinatie verdient een paar minuten nadenken.

- **Gebruik een aparte API-sleutel per lijst.** Immich laat je API-sleutels aanmaken met beperkte rechten. Geef de lijst alleen wat hij nodig heeft, en trek de sleutel in als het apparaat kwijtraakt of vervangen wordt. ImmichFrame ondersteunt ook `ApiKeyFile`, zodat de sleutel uit een Docker-secret kan komen in plaats van uit een configbestand.
- **Let op schrijfrechten.** De "more info"-overlay van Kiosk heeft like- en hide-knoppen die assets in Immich als favoriet markeren, taggen of archiveren. Handig, maar het betekent dat de sleutel schrijfrechten nodig heeft. Gebruik je die knoppen niet, schakel ze dan uit en houd de sleutel alleen-lezen.
- **Scherm de lijst zelf af.** Geen van beide servers hoort open op het internet. Kiosk heeft een `password`-optie en `disable_url_queries`. ImmichFrame heeft een `AuthenticationSecret` voor clients en een apart adminwachtwoord voor `/admin`. De ImmichFrame-documentatie vermeldt dat de admin-UI API-sleutels toont en ze in platte tekst verstuurt, dus zet hem achter HTTPS als hij van buiten je lokale netwerk bereikbaar is.
- **Weet wat je netwerk verlaat.** Met PixelUnion reizen je foto's van onze servers in Europa naar de container bij jou thuis en dan naar je scherm. Er gaat niets via een cloud van derden. De uitzondering is het weer: beide projecten sturen je coördinaten naar de OpenWeatherMap-API. Een klein lek, maar wel een echt lek.

De licenties verschillen ook. Kiosk is AGPL-3.0, ImmichFrame is GPL-3.0. Voor persoonlijk gebruik verandert dat niets. De AGPL dekt ook software die via een netwerk wordt aangeboden, dus ben je van plan een van beide als gehoste dienst voor anderen te draaien, lees dan eerst de licenties.

## Dus welke moet je draaien?

Kies **Immich Kiosk** als je displays browsers zijn (Raspberry Pi's, tablets aan de muur, smart-tv's) en je wilt dat één container ze allemaal aanstuurt. Het past bij mensen die hun homelab in YAML en Git bijhouden, die fijnmazige filters willen, en die belang hechten aan inbranden, slaapschema's en offline caching op hardware die altijd aan staat.

Kies **ImmichFrame** als je native apps wilt, vooral Apple TV, een Android TV-screensaver of een omgebouwde Frameo-lijst. Het past bij huishoudens die meerdere Immich-accounts willen mengen tot één diavoorstelling, of die instellingen liever in een web-UI beheren dan in een tekstbestand.

Genoeg mensen draaien allebei. Kiosk zit rond de 1,7k GitHub-sterren, ImmichFrame rond de 2,4k, en beide brengen om de paar weken releases uit met actieve Discord-kanalen op de Immich-server. Twee maintainers die hetzelfde probleem op verschillende manieren oplossen, maken beide projecten meestal beter. Zo hoort open source te werken, en het gebeurt minder vaak dan mensen denken.

Geen van beide vertelt je iets over je foto's dat je nog niet wist. Wat ze doen, is die foto's van een server halen en aan de muur hangen, waar je er echt naar kijkt. Dat is een middag knutselen waard.

Besteed je die middag liever aan de lijst dan aan het draaien van Immich zelf, dan is dat wat wij doen. Wij houden de server up-to-date en geback-upt op Europese infrastructuur. Jij krijgt een API-sleutel om je lijst naar te wijzen.

[Begin gratis met PixelUnion →](https://pixelunion.eu)

