Ga naar hoofdinhoud

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:

ServiceVerplicht?Rol
Ister-serverjaDe applicatie zelf: scannen, metadata, API's, streaming
PostgreSQLjaDe enige bron van waarheid voor alle data
RabbitMQjaMessage broker; al het achtergrondwerk loopt erdoorheen
OIDC-providerjaAuthenticatie — elke Keycloak-compatibele OpenID Connect-provider
TypesenseoptioneelFull-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.yml mee 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

  1. Quick start — in een minuut of tien een draaiende server met testmedia waarop je kunt inloggen
  2. Installatie — vereisten, images, migraties, eerste start, health-endpoints
  3. Configuratie — de volledige instellingenreferentie
  4. Libraries en media-indeling — hoe je bestanden op schijf organiseert
  5. Multi-node — een cluster draaien
  6. Zoeken (Typesense) — full-text zoeken inschakelen en onderhouden
  7. Onderhoud en probleemoplossing — geplande taken, back-up, monitoring
  8. Naamconventies — de exacte map- en bestandsnaamregels per librarytype
  9. Gebruikers, delen en toegang — admins, zichtbaarheid per library, playback-sessies delen