MyMediaForAlexa im Docker-Container

  • Meine Konfiguration : QNAPTS251+ mit 8 GB Hauptspeicher und 2 x 6TB-HDDAuf der Qnap sind alle Filme, Serien, Musikclips, Fotos sowie meine Musik hinterlegt.

    Die QNAP-Maschine läuft rund um die Uhr.


    Als Alexa-Fan (mit einem Amazon-Prime-Konto) wollte ich natürlich auch meine lokale Musik mit Alexa abspielen können. Bis vor 1,5 Jahren hat Amazon noch einen Dienst angeboten, der das uploaden der eigenen Musik ermöglicht hat. Mittlerweile wurde dieser Dienst aber eingestellt. Bei der Suche nach einer Ersatzlösung bin ich auf MyMediaForAlexa gestossen (https://www.mymediaalexa.com/).

    Es muss dazu über Amazon-Prime die App My Media For Alexa aktiviert werden. Die App kann 7 Tage kostenlos getestet werden, Danach muss für den jährlich ablaufenden Account mit 6,-- € je Jahr bezahlt werden.


    MyMedia ermöglicht die lokal gespeicherte Musik z.B. über den Server von MyMedia mit Alexa zu steuern und zu streamen. Im ersten Schritt hatte ich auf der Qnap eine Windows-VM erstellt und dort MyMedia installiert. Da die Qnap aber auch für Videostreaming genutzt wird (über Emby) gab es bei gleichzeitigem Betrieb von Emby und der Windows-VM immer Ressourcenprobleme.


    Dann habe ich mich vor ein paar Wochen an die Docker-Container-Technik herangetraut. Mittlerweile gibt es auch ein Image für myMedia, das in einem Container laufen kann. Ich habe mir deshalb einen Container mit MyMediaForAlexa erstellt und spiele meine lokale Musik jetzt über einen Docker-Container ab, die ich über Alexa steuern kann.


    Für alle, die das mal ausprobieren möchten, habe ich nachfolgend eine Schritt für Schritt-Anleitung eingestellt:


    1. Auf der QNAP die Container-Station installieren.

    2. PuTTY auf dem Windowsrechner installieren (PuTTY braucht man, um das für MyMediaForAlexa vorbereitete Image auf der QNAP zu installieren)

    3. Jetzt im Router die Ports 52050 und 52051 für die QNAP-IP-Adresse freigeben

    3. Auf der Webseite von MyMediaFor Alexa im Bereich Download findet man Hinweise unter "Download the Docker Image". Allerdings lässt sich das Image nicht downloaden. Man findet dort lediglich Installationshinweise.

    4. Jetzt kommt PuTTY ins Spiel. PuTTY starten und die Anmeldedaten der QNAP eingeben (admin und Passwort)

    5. In der leeren Zeile die jetzt angezeigt wird folgenden Befehl eingeben:

    Code
    1. sudo docker run -d -p 52050:52050 -p 52051:52051 -v ~/Music:/medialibrary -v ~/.MyMediaForAlexa:/datadir bizmodeller/mymediaforalexa

    6. Wenn die Ports korrekt für die QNAP freigegeben wurden wird jetzt das Image installiert. Auf der Webseite von MyMediaFor Alexa kann man sich unter "Method 1 : Run via Docker Hub" anschauen, wie das Ergebnis im PuTTY-Fenster ausschauen muss.

    7. Nach kurzer Zeit findet ihr dann das installierte Image in der Container Station

    8. Jetzt auf das + im installierten Image drücken und der Container kann konfiguriert werden

    9. Im angezeigten Dialog "Container installieren" können jetzt das CPU- und Arbeitsspeicherlimit verändert werden. Da ich meine QNAP auch noch für Videostreaming nutze, habe das CPU-Limit auf 40 % und das Arbeitsspeicherlimit auf 2000 MB begrenzt.

    Unter erweitere Einstellungen habe ich jetzt folgendes eingetragen:

    a) Umgebung : unverändert

    b) Netzwerk : geändert auf Host

    c) Gerät : unverändert

    d) Freigabe : Hier unter Volume von Host auf Hinzufügen klicken und eueren Medienordner eintragen. Wenn die Zeile Hostpfad angeklickt wird, werden die QNAP-Ordner aufgelistet und ihr könnt eueren Medienordner auswählen. Unter "Punkt einbinden" könnt ihr mit vorangestelltem Backslash einen Mediennamen eingeben, der später bei der Einrichtung von MyMediaForAlexa sichtbar wird (und zwar mit allen Unterordnern, die dort getrennt mit WatchFolder hinzugefügt werden können). [Wichtig: Wenn ihr euere Musikdateien regelmässig updaten/ergänzen wollt, muss der in den Container eingebundene Medien-Ordner der Root-Ordner sein, in dem die weiteren Musikordner später problemlos ergänzt werden können. Hier ist dann lediglich ein neues Scanning des ergänzten Unter-Ordners in MyMediaForAlexa notwendig.]

    10. Jetzt auf erstellen klicken und danach auf OK. Der Container wird eingerichtet. Den findet ihr dann als neue Zeile im Container-Bereich.

    11. Standardmässig wird der Container automatisch gestartet.

    12. Ihr könnt jetzt in jedem Browser mit dem Aufruf "IP-Adresse: 52051" die MyMediaForAlexa-Konfiguration starten.

    Vorteil der Docker-Container-Technik: Der Ressorcenverbrauch gegenüber der VM liegt jetzt zwischen 5 und 30%.


    Was sich hier relativ einfach liest, hat mich allerdings fast 3 Tage und eine Vielzahl von Try and Error-Schleifen gekostet.

    Ich hoffe, ihr kommt mit meiner Anleitung zurecht. Ich wünsche euch viel Erfolg beim Ausprobieren.


    WICHTIG für MyMediaFor Alexa

    Wichtig für das einwandfreie Funktionieren des MyMediaForAlexa Skills ist, dass die Musikdateien plausibel sind. Dateinamen und mp3-Tags sollten für den Titel übereinstimmen. Ansonsten findet MyMedia einzeln über Alexa aufgerufene Titel nicht oder spielt das, was es glaubt erkannt zu haben. Ich habe meine Musik nach Genre (=Ordner) strukturiert und jedem Genre mit der kleinen Software "Mp3Tag" einen einheitlichen Albumnamen zugeordnet. Jetzt funktioniert der Albenaufruf über Alexa perfekt. Mit Playlists hat MyMedia noch Probleme und kommt öfter ins stottern. Ich habe deshalb auf Playlists ganz verzichtet.

    3 Mal editiert, zuletzt von Briese ()

  • Moin erstmal,


    Briese: Kannst Du mir bitte genauer erklären wie Du Deine Musik-Ordner eingetragen hast.

    Ich habe die Vermutung dass MyMedia nicht aus seinem Docker-Container heraus, auf die Musik-Freigabe zugreifen kann.

    Oder hast Du eine gesonderte Freigabe-Berechtigung konfiguriert?


    Gruß Prosciutto