HOWTO: Easyepg im Docker unter LibreElec installieren

  • Ok, geprüft: das ist wohl leider normales (und gewolltes) verhalten von docker, Wenn ein Pfad als Volume gemountet wird, den es (noch) nicht gibt. Das muss aber sein, weil docker selbst keinen Zugriff auf den Host hat, ergo also weder prüfen kann ob dort irgendein Pfad existiert, noch ob ein anderer Dienst oder Container dort läuft

  • Danke Dir fürs Anschauen! Das klingt logisch. Aber eine Lösung für dieses Problem scheint es dann nicht so einfach zu geben (wenn man den socket nutzen möchte). Ich habe auch mal versucht das Docker Addon im Python-Skript zu verzögern, aber das Problem scheint schon auf systemd /OS - Ebene zu bestehen. Zumindest hat ein "sleep" nicht geholfen. Andere Lösungen kann man bestimmt irgendwie zusammenbasteln, aber eine schöne und einfache Lösung gibt es nicht.

    Vielleicht prüf ich mal, ob ich sämtliche Abhängigkeiten (perl, dialog, git, php etc.) als Addon hinzubauen kann. Das Docker-Addon scheint auf meinem System auch ca. 10% CPU-Last zusätzlich zu ziehen...vielleicht habe ich aber auch nur zu einem schlechten Moment auf die Last geschaut.

  • @K-Meleon Ich muss nochmal etwas nachhaken, da ich bei den beiden Threads ("Docker unter LibreElec" und "NAS") immer mal wieder durcheinander komme:

    Du versuchst das auch unter LibreElec und da ist TVHeadend direkt auf dem System installiert (läuft also nicht via Docker)?

    Dann müsste eigentlich das gehen, was ich bei mir auf einer dedizierten Linux-Maschine am Laufen habe:
    TVHeadend ist dort direkt installiert und mein easyepg-docker läuft dort nicht permanent (wie bei der NAS-Fraktion üblich), sondern wird im Modus "run" vom Host aus per Cronjob nachts gestartet - dann hast Du auch weniger laufende Auslastung des Systems. Klar, der Docker-Service läuft natürlich trotzdem permanent, aber eben nicht der easyepg-Container. Dadurch, dass Du den Container i.d.R. deutlich nach einem Neustart des Systems startest sollte der Socket dann eigentlich immer da sein.

    Wie hast Du denn meinen Container installiert/konfiguriert? Wie im Readme auf GitHub beschrieben mit dem Shell-Script oder von Hand?

    Der Modus "run" bei meinem Container bedeutet, dass er sofort easyepg startet, wenn der Container hochgefahren wird und sich dann auch wieder beendet, wenn easyepg fertig ist.

    Ich selber habe für mich entschieden easyepg im Docker zu bauen und auch zu nutzen, da es sehr viele Dinge braucht die installiert werden müssen. Mein PVR ist in unserem Haushalt als "kritisches" System zu sehen und sollte das mal defekt sein will ich nicht erst 2 Tage Zeug installieren. Mit Docker kann ich die Konfiguration regelmäßig wegsichern und wenn ich ein neues System brauche muss im Grunde nur Docker drauf und ich bin mehr oder weniger wieder einsatzbereit.

  • Hi! Sorry, ich habe Deine Antwort leider nicht mitbekommen und eben erst gelesen.

    Du versuchst das auch unter LibreElec und da ist TVHeadend direkt auf dem System installiert (läuft also nicht via Docker)?

    Ja, korrekt!

    sondern wird im Modus "run" vom Host aus per Cronjob nachts gestartet - dann hast Du auch weniger laufende Auslastung des Systems. Klar, der Docker-Service läuft natürlich trotzdem permanent, aber eben nicht der easyepg-Container. Dadurch, dass Du den Container i.d.R. deutlich nach einem Neustart des Systems startest sollte der Socket dann eigentlich immer da sein.

    OK, dann ist meine Erwartung vielleicht anders/falsch, da ich LibreELEC eigentlich nur (meist manuell) starte, wenn ich TV gucke oder etwas im TV aufnehmen möchte.

    easyepg habe ich ja "erst mal" nur testen wollen. Der erste Schritt war für mich dabei, dass ich nach dem Starten des Systems über "run" die epg-Daten via easyepg zusammen sammele. Das hat mit der Standard-Installation leider schon nicht geklappt, da immer gleich das Verzeichnis (anstatt des sockets) erzeugt wurde. Nach meinen letzten Analysen bestand das Problem aber schon vor dem Starten über "run": Das Verzeichnis wurde immer schon erzeugt, ohne dass easyepg überhaupt gestartet wurde. Das hat Docker scheinbar erledigt.

    Wie hast Du denn meinen Container installiert/konfiguriert? Wie im Readme auf GitHub beschrieben mit dem Shell-Script oder von Hand?

    easyepg hab ich komplett über Dein Script installieren lassen. Dabei war ich mir allerdings nie klar, ob ich bei Nutzung von "Variant A: via Cronjob in the container" immer noch den cron-Eintrag manuell erzeugen muss...das hab ich bisher nicht angefasst (über Variante B). Was der cron-Container macht, ist mir nicht klar...vermutlich verstehe ich zu wenig von Docker...oder kann es mir nicht mehr vorstellen.

    Ich selber habe für mich entschieden easyepg im Docker zu bauen und auch zu nutzen, da es sehr viele Dinge braucht die installiert werden müssen. Mein PVR ist in unserem Haushalt als "kritisches" System zu sehen und sollte das mal defekt sein will ich nicht erst 2 Tage Zeug installieren. Mit Docker kann ich die Konfiguration regelmäßig wegsichern und wenn ich ein neues System brauche muss im Grunde nur Docker drauf und ich bin mehr oder weniger wieder einsatzbereit.

    Das muss ich leider inzwischen bestätigen: Ich habe angefangen, ein paar benötigte Pakete in LibreELEC einzufügen. Mit Perl ging das noch ganz einfach, aber bei den benötigten Third-Party Perl-Modules, die sozusagen Cross-compiled werden müssen, gab es mächtige Probleme und dann bin ich wieder davon abgekommen (leider!!). Das Nachinstallieren bei LibreELEC erfolgt im Prinzip über eine einzige Datei, das geht ratz-fatz. Aber ich kann Dich schon verstehen!

  • Hallo,

    ich habe auf einem Raspi4 Libreelc mit TVHEADEND Server laufen.
    Auch EASYEPG funktionierteauch tadellos (Danke an PvD für die Instruction).

    Seit ein paar Wochen habei ich aber Probleme.
    Zuerst konnte garkein EPG mehr geladen werden, das lag wohl aber daran, dass die Sender bei Telekom weg waren.
    Nach langem hin und her, habe ich das Easyepg nach Anleitung nochmal gelöscht und wieder mit Standardeinstellungen installiert.
    Jetzt funktioniert es auch, AUßER, dass es kein Update gibt.
    Wenn ich es manuell per docker start easyepg.run starte, dann gehts. Aber ich muss das eben wöchentlich immer manuell starten.

    Ich kenne mich mit dem Linux nixht sonderlich aus..habe keine Ahnung wo ich suchen muss --> jemand eine Idee?

    VG
    rw

  • was ist denn die Ausgabe von "docker ps"? Und: hattest Du den cron-container mit "docker start easyepg.cron" gestartet? @rw79

    Ich kenne Libreelec nicht, aber wenn easyepg.run geht, dann fehlt vermutlich schlicht der Automatismus der das via Cronjob laufen lässt. Du müsstest entweder einen Cronjob in Libreelec einrichten der easyepg.run in den gewünschten Zeitintervallen startet oder (wie im Eingangssatz meines Posts) den easyepg.cron container dauerhaft laufen lassen so das er intern via cronjob easyepg startet.

    GitHub Repo: Easyepg.minimal
    Docker Hub: Easyepg.minimal, Telerising.minimal
    Bierspende: PayPal.Me :thumbup:

    Geräte: AWOL Vision LTV-3000 Pro, ES Aeon Starbright CLR 90", NVIDIA Shield TV Pro 2019, Cambridge Audio CXUHD
    Backend: PC Engines APU 2D4 (Docker: TVHeadend, Telerising, Easyepg, Deconz, OpenHAB)

    Einmal editiert, zuletzt von dlueth (23. März 2021 um 11:41)

  • @rw79 hattest du den jetzt erst gestartet? Laut Screenshot läuft der ja auch erst 22 Minuten und die Aktualisierung läuft, so du nichts beim Setup geändert hast, nachts

  • ok, sorry, ich muss genauer beschreiben...

    jain.
    ich hatte das der Anleitung nach immer mit gestartet (siehe 1. Seite im Fred)

    ich hatte eben docker ps geschaut: da war kein task. Dan habe ich docker start easyepg.cron eben nochmal ausgeführt. Jetzt ist der auch sichtbar...aber ich wette, dass trotzdem nichts aktualisiert wird...weil ich früher ja auch schon den Befahl ausgefüghrt hatte.
    Warum da erst kein Task zu sehen war weiss ich nicht...
    @dlueth, weiss nicht, ob du anhand des Screenshots was erkennen kannst. Anonsten lasse ich das jetzt mal so einen Tag lang laufen und schaue, ob es dann noch aktualisiert bzw. ob der Task noch da ist

  • @rw79 alles gut und danke für die Details ;) lass Mal eine Nacht laufen und Berichte. Der cron Container macht den cronjob eigentlich intern. Bin aber nicht ganz sicher ob das bei libreelec nicht vielleicht etwas anders nötig war... (Edit: laut Seite 1 wohl eigentlich nicht)

    Vielleicht kommt hier ja noch ein libre-experte dran vorbei ;)

    GitHub Repo: Easyepg.minimal
    Docker Hub: Easyepg.minimal, Telerising.minimal
    Bierspende: PayPal.Me :thumbup:

    Geräte: AWOL Vision LTV-3000 Pro, ES Aeon Starbright CLR 90", NVIDIA Shield TV Pro 2019, Cambridge Audio CXUHD
    Backend: PC Engines APU 2D4 (Docker: TVHeadend, Telerising, Easyepg, Deconz, OpenHAB)

    Einmal editiert, zuletzt von dlueth (23. März 2021 um 16:29)

  • Siehe Anhang.
    Der Task läuft nun seit Dienstag. Hat auch am Mi/Do 2.00Uhr ein Update geladen.
    ABER: EPG wurde nur bis Mi 31.03. geladen - hätte bis 01.4. sein sollen.
    Ich werde das mal weiter beobachten. Ich vermute (zumindest hattest das bislang so den Eindruck erweckt),
    dass nun Mi 31.3. als letzter Eintrag stehen bleibt und dann ab 01.04. kein EPG mehr da ist.
    Obwohl der Task ausgeführt wird und anscheinend auch die xmls. upgedated werden.
    Kann es sein, dass beim EPG update nicht das Datum (heute+7 Tage), sondern das Datum vom task-begin + 7Tage benutzt wird? D.h. er macht zwar täglich ein Update, aber jeden Tag erneut vom 23.3-1.4. (da der Task am 23.3.) gestartet wurde?!?
    Wie könnte man das prüfen?

  • Meine Vermutung scheint sich zu bestätigen. Habe die xml Files gelöscht
    Um 2:00Uhr wurden neue xml Files erstellt. EPG bis 31.03. bleibt.

    Task neu starten: EPG wird nun wieder komplett für die nächsten 7 Tage erstellt

    Schlussfolgerung: Das EPG wird zwar täglich gezogen aber vom Task-STARTtag+7, nicht vom Updatetag+7.
    Damit holt der also jeden Tag für den selben Zeitraum und nach einer Woche liegt das dann eben in der Vergangenheit...

    Das war vorher nicht der Fall und auch komisch, wenn das nur bei mir so ist?!
    Hmm...jemand eine Idee? Ansonsten bleibt mir nur jede Woche das EPG-Update manuell zu starten...

    Danke

  • Ich kann mir nur vorstellen, dass das xml einmalig erstellt wird und dann an den folgenden Tagen zwar neu erstellt, aber das alte xml aus irgendwelchen Gründen nicht überschrieben wird (Rechteproblem im Docker?). Du bekommst also kein neu erstelltes, sondern immer das allererste xml zu sehen.

    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

  • Das müsste man ja leicht am Änderungsdatum der XML erkennen können. @rw79 ich hatte da bei mir ein Auge drauf, aber bei mir läuft alles komplett sauber, wie es soll

  • Habe gerade mal bei mir nachgeschaut und dort kann ich jetzt bereits 14 Tage in die Zukunft schauen. Habe mal in der tvheadend Oberfläche Pro 7 auf Newstime gefiltert und habe Einträge bis einschließlich 20.04.

    Bei mir läuft der docker Container von @DeBaschdi, welches jedoch keinen Unterschied machen sollte.

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

    Client: NVIDIA Shield Pro 2019

  • @rw79 Das is aber auch wirklich strange so alles zusammen gesehen. Du benutzt als grabber Telekom lese ich weiter oben heraus? Wenn ja: den benutze ich auch und läuft seit Monaten (wenn nicht Jahren) völlig sauber.

    Gerade mal easyepg dahingehend durchgeschaut aber so auf die Schnelle auch keinen möglichen Grund gefunden warum das sich bei Dir so komisch verhält. Es fühlt sich ja fast so an als würde sich die Systemzeit innerhalb des Containers nach dem Start ganz stumpf nicht mehr ändern. Ich nehme einfach mal an, dass Easyepg auf Basis dieser seinen Zeitraum errechnet. Dann wundert mich aber der angepasste Timestamp der Datei, wobei das auch vom Host kommen könnte...

    Hast Du schonmal im Container geschaut was er da so als aktuelle Zeit rauswirft zu zwei Zeiten auf der Shell?

  • @dlueth, danke für Deine Unterstützung.

    "Hast Du schonmal im Container geschaut was er da so als aktuelle Zeit rauswirft zu zwei Zeiten auf der Shell?"

    Was genau meinst Du hier?

    (1) Ein paar Screenshots anbei.
    - der Docker läuft seit nunmehr 3 Tagen (EPG für 7 Tage, default) (Start 5.4.; End 13.4) --> Sollte ok sein
    - jeden Tag 2Uhr läuft das Update (aktuelles xml file von heute 8.4.2021, 2:00) --> Sollte ok sein
    Problem: EPG endet noch immer am 13.04. --> WARUM?!

    (2) manuelles ausführen: docker start easyepg.run
    - xml file update am 8.4. 8Uhr
    --> Tata EPG endet am 16.4.

    Problem:
    Wenn ich nicht regelmäßig manuell starte, passiert da nichts - siehe (1)

    Wie gesagt, früher lief das alles problemlos.
    Erst vor ~2Monaten gab es das Problem mit dem Magenta-EPG, dass garnichts geladen wurde (lag wohl eher an Telekom). Da hatte ich neu installiert und funktionierte soweit...bis ich nach 1Wo kein EPG mehr hatte.
    Seit dem werkel ich da rum. x-mal neu installiert. Die Anleitung ist ja recht simpel github.com/dlueth/easyepg.minimal
    Aber ansonsten kenne ich mich mit Linux nicht aus. Insofern habe ich keine Ahnung, warum das so ist, aber es wundert mich schon sehr, dass ich anscheinend der Einzige hier mit dem Problem bin ?!?!?

Jetzt mitmachen!

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