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 05)

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

Deploymentvormen

  • Docker Compose — de repository levert docker-compose.yml mee als referentiestack (database, RabbitMQ, migraties, server). Zie Installatie.
  • 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. 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. Installatie — images, migraties, eerste start, health-endpoints
  2. Configuratie — de volledige instellingenreferentie
  3. Libraries en media-indeling — hoe je bestanden op schijf organiseert
  4. Multi-node — een cluster draaien
  5. Zoeken (Typesense) — full-text zoeken inschakelen en onderhouden
  6. Onderhoud en probleemoplossing — geplande taken, back-up, monitoring
  7. Naamconventies — de exacte map- en bestandsnaamregels per librarytype
  8. Gebruikers, delen en toegang — admins, zichtbaarheid per library, playback-sessies delen