Koel - Musik-Streaming-Server mit schlanker Web-Oberfläche

Koel - Musik-Streaming-Server mit schlanker Web-Oberfläche

Koel ist ein selbstgehosteter Musik-Streaming-Server mit eleganter Web-Oberfläche und mobiler Unterstützung.

Was ist Koel?

Koel ist ein in Laravel und Vue.js geschriebener Musik-Streaming-Server, der lokale Audiodateien über den Browser zugänglich macht. Die Oberfläche ist modern und reaktionsschnell, die Einrichtung unkompliziert. Koel liest Metadaten automatisch aus den Musikdateien ein und bietet Funktionen wie Wiedergabelisten, Favoriten, zufällige Wiedergabe und eine Suche. Über die REST-API können externe Apps angebunden werden. Koel eignet sich für alle, die Spotify-ähnlichen Komfort mit vollständiger Datenkontrolle kombinieren möchten.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Musiksammlung in MP3, FLAC, AAC oder OGG

Compose-Beispiel

services:
  koel:
    image: phanan/koel:latest
    container_name: koel
    restart: unless-stopped
    ports:
      - "8080:80"
    depends_on:
      - koel-db
    volumes:
      - ./music:/music:ro
      - ./covers:/var/www/html/public/img/covers
    environment:
      - DB_CONNECTION=mysql
      - DB_HOST=koel-db
      - DB_DATABASE=koel
      - DB_USERNAME=koel
      - DB_PASSWORD=secret
      - APP_KEY=base64:changeme=

  koel-db:
    image: mariadb:10.11
    container_name: koel-db
    restart: unless-stopped
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=koel
      - MYSQL_USER=koel
      - MYSQL_PASSWORD=secret
      - MYSQL_ROOT_PASSWORD=rootsecret

Hinweise

  • APP_KEY muss ein gültiger Base64-Laravel-Schlüssel sein – im Container mit php artisan key:generate erzeugen.
  • Nach dem ersten Start muss die Musikbibliothek über die Admin-Oberfläche gescannt werden.
  • Koel unterstützt Last.fm-Scrobbling – Account in den Einstellungen verknüpfen.
  • Über Subsonic-API-Kompatibilität können Apps wie DSub oder Ultrasonic für den mobilen Zugriff genutzt werden.