Inleiding
Ister is een zelfgehoste mediaserver in de geest van Plex en Jellyfin. Je wijst hem naar je media op schijf, hij scant en verrijkt alles met metadata, en de Ister-playerapps streamen ervan. Deze documentatie is voor degene die de server draait — installeren, configureren en gezond houden. Wil je weten hoe hij vanbinnen werkt, dan is er de architectuurdocumentatie.
Wat je beheert
Een Ister-deployment bestaat uit een klein aantal services:
| Service | Verplicht? | Rol |
|---|---|---|
| Ister-server | ja | De applicatie zelf: scannen, metadata, API's, streaming |
| PostgreSQL | ja | De enige bron van waarheid voor alle data |
| RabbitMQ | ja | Message broker; al het achtergrondwerk loopt erdoorheen |
| OIDC-provider | ja | Authenticatie — elke Keycloak-compatibele OpenID Connect-provider |
| Typesense | optioneel | Full-text zoeken door je libraries (hoofdstuk 06) |
Ister beheert zelf geen gebruikers: dat doet je OIDC-provider (bijvoorbeeld Keycloak). De server valideert de JWT's die deze uitgeeft.
Wat hij kan serveren
- Films en tv-series — metadata van TMDB, gestreamd als HLS met on-the-fly transcoding
- Muziek — metadata van MusicBrainz, albumhoezen, artiestafbeeldingen
- Boeken — epubs (te lezen in de client, inclusief EPUB 3-voorleesboeken) en luisterboeken, beide gekoppeld aan hetzelfde logische boek; metadata van Open Library en Wikidata
- Comics — CBZ, PDF en epub, georganiseerd per serie
- Podcasts — geabonneerd via RSS-feed, elk uur ververst, afleveringen op verzoek gedownload
Bovenop de media zelf krijgen gebruikers een persoonlijke laag: playlists (handmatig of smart, op filters gebaseerd), opgeslagen views met eigen filters, waarderingen en afspeelgeschiedenis per gebruiker, geregistreerde devices met afstandsbediening en playback-overdracht, meeluisteren met de sessie van een andere gebruiker, en automatische intro-/outro-detectie met een skipknop. Niets daarvan vergt inrichting door de beheerder; het model staat beschreven in Persoonlijke bibliotheek en devices.
Deploymentvormen
- Docker Compose — de repository levert
docker-compose.ymlmee als referentiestack (database, RabbitMQ, een development-Keycloak, migraties, server). De quick start loopt hem met je door; Installatie beschrijft hoe je hem houdt. - Kubernetes — de chart-repository biedt een Helm-chart en draait er in CI een volledige end-to-end-suite tegenaan.
- Meerdere nodes — meerdere servers kunnen samen één cluster vormen, elk met eigen schijven; transcodewerk draait op de node die het bestand heeft. Een node kan ook transcode-only zijn: zonder eigen media, encoderend voor de schijven van een andere node. Zie Multi-node.
Het productieartefact is een GraalVM native image: de gepubliceerde containerimage start in
een fractie van een seconde en bevat geen JVM. Normaal gesproken pull je gewoon
ghcr.io/ister-app/server; zelf bouwen staat beschreven in Installatie.
Hoofdstukoverzicht
- Quick start — in een minuut of tien een draaiende server met testmedia waarop je kunt inloggen
- Installatie — vereisten, images, migraties, eerste start, health-endpoints
- Configuratie — de volledige instellingenreferentie
- Libraries en media-indeling — hoe je bestanden op schijf organiseert
- Multi-node — een cluster draaien
- Zoeken (Typesense) — full-text zoeken inschakelen en onderhouden
- Onderhoud en probleemoplossing — geplande taken, back-up, monitoring
- Naamconventies — de exacte map- en bestandsnaamregels per librarytype
- Gebruikers, delen en toegang — admins, zichtbaarheid per library, playback-sessies delen