HOWTO: Easyepg im Docker unter LibreElec installieren

  • @Ruschi Mit welchem User hast Du das init-script aufgerufen? Dessen PGID und PUID werden im Container dann auch verwendet und auf den User easyepg innerhalb des Containers umgemapped.

    Wenn sich bei Dir der User der den Container startet und der User der mit exec rein will unterscheiden dann führt das möglicherweise zu diesem Problem.

  • hä? @dlueth

    du siehst doch das ich das alles per ssh auf der Konsole getan habe..

    sh -c "$(curl -s http://%5burl%5dhttps//raw.githubuse…mal/master/init)"

    wurde als ROOT ausgeführt !

    Und auch auf meinem easyepg config Ordner der als speicherpfad im Skript abgefragt wird, ist root der Eigentümer..

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

    Einmal editiert, zuletzt von Ruschi (29. August 2019 um 10:07)

  • @Ruschi Ja, und auch das docker start easyepg.admin sowie das nachfolgende docker exec wurde dann als root ausgeführt?

    Ergänzung:
    Der User easyepg innerhalb des Containers wird nur dann angelegt, wenn es nicht schon einen User gibt für die übergebene User-ID - das dürfte aber bei Root im host der Fall sein und würde erklären, warum das bei Dir mit dem User easyepg nicht geht.

    Dazu dann nochmal generell der Hinweis:
    Es ist eigentlich keine gute Idee Dinge mit Root-Rechten zu starten (also den Docker-Container auf dem Host) und es ist auch keine gute Idee Dinge in einem Docker-Container als Root laufen zu lassen. Also wenn es nicht das Host-System zwingend erfordert würde ich da echt dringend von abraten...

  • @dlueth

    das mit "root" ist mir vollkommen bewusst... in der laufenden Praxis tue ich ja dies auch nicht.
    Ich dachte mir aber das es mit root funktionieren MUSS...

    was schlägst du also vor was ich tun sollte ? (als "dockeruser" per ssh anmelden und dann ausführen?) oder den benutzer easyepg anlegen ?!

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

  • @Ruschi als dockeruser per ssh anmelden, init-script neu ausführen, easyepg.admin neu starten und dann solltest du auch einen user easyepg im container haben und mit dem o.g. exec-befehl reinkommen.

    Alternative ginge auch root auf dem host zum testen, dann müsstest du aber bei der o.g. Zeile von exec einfach das "-u easyepg" herausnehmen

  • @dlueth ; @BJ1

    Also so langsam verzweifle ich etwas..
    dockuser ist als Selbiger erstellt. inkl. homeordner .. führe ich also unter dockeruser aus bekomme ich folgendes:

    $ sh -c "$(curl -s -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/dlueth/easyepg.minimal/master/init)"
    Checking requirements...
    > docker => installed
    Preparing...
    Storage location [/home/dockeruser/easyepg]: /srv/dev-disk-by-label-Daten1/dockerconfig/easyepgconfig
    Use local xmltv.sock [y/N]: n
    Timezone [Europe/Berlin]:
    Cronjob frequency [0 2 * * *]:
    Autoupdate easyepg [Y/n]: n
    Easyepg git repo [sunsettrack4]:
    Easyepg git branch [master]:
    Easyepg.minimal docker tag [latest]:
    Stopping container...
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json?all=1&filters=%7B%22ancestor%22%3A%7B%22qoopido%2Feasyepg.minimal%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied
    Removing old container...
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json?all=1&filters=%7B%22ancestor%22%3A%7B%22qoopido%2Feasyepg.minimal%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied
    Removing old image...
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json: dial unix /var/run/docker.sock: connect: permission denied
    Pulling new image...

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

  • Wenn du den User über die OMV Oberfläche erstellt hast, dann kannst du ja hier drüber die entsprechenden Rechte verteilen.

    Deinem Auszug mach fehlen ihm nun nur die Rechte auf den Docker Socket zugreifen zu dürfen. Also über die Oberfläche einfach den Hacken bei Docker setzen.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • WER lesen kann ist klar im Vorteil :)

    the user you want to run it needs to be in the docker group.

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

  • @Ruschi @dlueth Bin ziemlich genauso weit. Hier meine Erfahrungen mit der OMV Installation soweit:

    1. ssh into the NAS with root priviledges
    2. Add your docker user to the docker group (if not already added):
      sudo usermod -a -G docker $USER (whatever the docker username is)
    3. Exit the ssh session
    4. ssh into the NAS with your docker username again
    5. Follow the @dlueth installation instructions (currently sh -s "...)
    6. IMPORTANT: I tried to put the storage directory into my usual shared docker folder /sharedfolders/AppData/easyepg, but ran into permission issues that I could not resolve. Accepting the default values worked though.
    7. In the OMV Webinterface, figure out which container is the admin one (via "Modify" for instance) and then start it from there. Launching the container via `docker start easyepg.admin` as $USER did NOT work for me.
    8. Back to the ssh session and you can follow @dlueth's instructions again. Start to configure the grabber:
      docker exec -ti -u easyepg -w /easyepg easyepg.admin ./epg.sh

    Es läuft, aber irgendwie ist die Containerstruktur und das Setup für OMV nicht optimal.

    Server: DIY NAS / Media Server w/ i3-8100, 32GB RAM, 4x6 TB WD Red in Raid5, DD Cine S2 + 3 x DuoFlex, OMV w/ Emby, TVheadend, Oscam fully dockered
    Living Room: NVIDIA Shield TV Pro 2019, Panasonic DP-UB9004, NAD 758v3, LG OLED 65 B7, L/R B&W CM10, B&W C S2, B&W ASW10 CM, SL/SR Elac WS 1445, HL/HR Dali Alteco C1
    Kids Room: Xbox One X w/ Kodi, Panasonic Viera TX-P50 Plasma

  • @M4tt0 gibt es eine Anleitung mit Screenshots wie die docker GUI unter OMV aussieht, funktioniert und was sie genau kann?

    Hintergrund:
    Mein init-Script ist nur eine Vereinfachung. Wenn du unter OMV via GUI einen Container starten und ihm volumes und env-Variablen reingeben kannst, dann geht es natürlich auch so und völlig ohne init-Script.

    Bei Bedarf würd ich die Parameter sonst Mal zusammenschreiben...

  • @dlueth Ja gibt es. Schau mal hier:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Da siehst Du ganz gut, wie es unter OMV funktioniert.

    Portzuweisungen brauchen wir natürlich nicht. Aber wäre cool, wenn man das easyepg/xml Verzeichnis auf einen sharedfolder linken könnte.

    Server: DIY NAS / Media Server w/ i3-8100, 32GB RAM, 4x6 TB WD Red in Raid5, DD Cine S2 + 3 x DuoFlex, OMV w/ Emby, TVheadend, Oscam fully dockered
    Living Room: NVIDIA Shield TV Pro 2019, Panasonic DP-UB9004, NAD 758v3, LG OLED 65 B7, L/R B&W CM10, B&W C S2, B&W ASW10 CM, SL/SR Elac WS 1445, HL/HR Dali Alteco C1
    Kids Room: Xbox One X w/ Kodi, Panasonic Viera TX-P50 Plasma

  • Siehe auch mein README für die shell-user:

    https://github.com/dlueth/easyepg.minimal#prerequisites

    DAS war der entscheidene Hinweis.. Ein abweichendes Verzeichnes als Default wird nicht akzeptiert. JETZT läuft das Setup durch.
    Das ist, sorry sorry nicht gut gelöst.. ich bin strikt dagegen daten auf der systemplatte zu platzieren. Es wäre wirklich gut wenn man das verändern könnte

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

  • @dlueth: Am besten wäre es eigentlich, wenn die ganzen Konfigurationsfiles (wie Grabber-Instances, Combine-Instances, crontab, externe Scripte, etc.) auf einen, und die Output xmls auf einen anderen /sharedfolder verlinkt werden könnten, und der ganze Rest im Container "verschwindet" und upgegraded werden könnte. Dann könnte man die /config z.B. auf /sharedfolder/AppData/easyepg legen, und /xml auf /sharedfolder/AppData/tvheadend/data. Man bräuchte in TVH nur noch den internen Standardgrabber aktivieren, und die Verbindung wäre perfekt.

    Server: DIY NAS / Media Server w/ i3-8100, 32GB RAM, 4x6 TB WD Red in Raid5, DD Cine S2 + 3 x DuoFlex, OMV w/ Emby, TVheadend, Oscam fully dockered
    Living Room: NVIDIA Shield TV Pro 2019, Panasonic DP-UB9004, NAD 758v3, LG OLED 65 B7, L/R B&W CM10, B&W C S2, B&W ASW10 CM, SL/SR Elac WS 1445, HL/HR Dali Alteco C1
    Kids Room: Xbox One X w/ Kodi, Panasonic Viera TX-P50 Plasma

  • Ein abweichendes Verzeichnes als Default wird nicht akzeptiert. JETZT läuft das Setup durch.Das ist, sorry sorry nicht gut gelöst.. ich bin strikt dagegen daten auf der systemplatte zu platzieren. Es wäre wirklich gut wenn man das verändern könnte

    Ich verstehe allerdings nicht, warum das nicht gehen sollte - solange der User der den Container startet entsprechende Rechte hat sollte das kein Problem sein... Denn das Verzeichnis wird ganz normal an den Container als Volume übergeben, wo das liegt ist komplett unerheblich. Das das Init-Script ein Verzeichnis im Home-Dir des aktuellen Users vorschlägt macht halt als Default durchaus Sinn für die unbedarften User, da dort am wenigsten Probleme zu erwarten sind.

  • @dlueth: Am besten wäre es eigentlich, wenn die ganzen Konfigurationsfiles (wie Grabber-Instances, Combine-Instances, crontab, externe Scripte, etc.) auf einen, und die Output xmls auf einen anderen /sharedfolder verlinkt werden könnten, und der ganze Rest im Container "verschwindet" und upgegraded werden könnte. Dann könnte man die /config z.B. auf /sharedfolder/AppData/easyepg legen, und /xml auf /sharedfolder/AppData/tvheadend/data. Man bräuchte in TVH nur noch den internen Standardgrabber aktivieren, und die Verbindung wäre perfekt.

    Ja, das wäre gut, ist aber mit der momentanen Ordnerstruktur von easyepg so nicht wirklich realisierbar. Was ich nochmal prüfen werde ist, ob man evtl. das xml-Verzeichnis extra reingeben kann. Ich bin momentan nicht ganz sicher, was Docker sagt wenn man ihm das easyepg-Verzeichnis reingibt und dann wiederum ein Unterverzeichnis von diesem nochmal extra.

  • Ich bin momentan nicht ganz sicher, was Docker sagt wenn man ihm das easyepg-Verzeichnis reingibt und dann wiederum ein Unterverzeichnis von diesem nochmal extra.

    Unter unRaid funktioniert das hier bei mir. Im easyepg-Verzeichnis gibt es dann zwar auch noch einen xml-Ordner, der bleibt jedoch leer bzw. wird nicht mehr geupdated.

    Bilder

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ich verstehe allerdings nicht, warum das nicht gehen sollte - solange der User der den Container startet entsprechende Rechte hat sollte das kein Problem sein... Denn das Verzeichnis wird ganz normal an den Container als Volume übergeben, wo das liegt ist komplett unerheblich. Das das Init-Script ein Verzeichnis im Home-Dir des aktuellen Users vorschlägt macht halt als Default durchaus Sinn für die unbedarften User, da dort am wenigsten Probleme zu erwarten sind.

    Habe ich auch nicht verstanden und deswegen ungefähr eine Stunde mit Linux und ACL Permissions rumgefrickelt. Hat ums Verrecken nicht geklappt. Ich glaube(!), dass unter OMV die Docker Container ausschliesslich als Root gelauncht werden. Da man die Container mit User-Rechten laufen lassen will, werden bei den Installationen immer brav die UIDs and GIDs übergeben (siehe auch das Video, das ich verlinkt habe), und erst beim Start des Containers angepasst. Deswegen konnte ich als $USER auch die Container nie starten. Kann mir vorstellen, dass das im Zusammenhang mit Deinem Init-Script Ärger machen könnte...

    Server: DIY NAS / Media Server w/ i3-8100, 32GB RAM, 4x6 TB WD Red in Raid5, DD Cine S2 + 3 x DuoFlex, OMV w/ Emby, TVheadend, Oscam fully dockered
    Living Room: NVIDIA Shield TV Pro 2019, Panasonic DP-UB9004, NAD 758v3, LG OLED 65 B7, L/R B&W CM10, B&W C S2, B&W ASW10 CM, SL/SR Elac WS 1445, HL/HR Dali Alteco C1
    Kids Room: Xbox One X w/ Kodi, Panasonic Viera TX-P50 Plasma

  • @M4tt0 also der user mit dem du einen Container starten willst muss der Gruppe docker angehören, sonst geht das nicht... Vielleicht reicht das schon?

    Und ja, das init-script versucht das Verzeichnis was Du ihm reingibst sicherheitshalber anzulegen, wenn bei dem also die Rechte nicht passen, dann geht auch das evtl. nicht.

    Das Video muss ich mir in Ruhe anschauen, bin bisher nicht dazu gekommen...

  • @BJ1: Ähem, ich glaube "Dein" mod242 Container macht was wir brauchen...
    https://github.com/mod242/docker-easyepg

    Musstest Du irgendwas rumfrickeln oder lief das out-of-the-box per Standard-Installation?

    Server: DIY NAS / Media Server w/ i3-8100, 32GB RAM, 4x6 TB WD Red in Raid5, DD Cine S2 + 3 x DuoFlex, OMV w/ Emby, TVheadend, Oscam fully dockered
    Living Room: NVIDIA Shield TV Pro 2019, Panasonic DP-UB9004, NAD 758v3, LG OLED 65 B7, L/R B&W CM10, B&W C S2, B&W ASW10 CM, SL/SR Elac WS 1445, HL/HR Dali Alteco C1
    Kids Room: Xbox One X w/ Kodi, Panasonic Viera TX-P50 Plasma

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!