[docker] NEW easyepg

Am Samstag (06.09.25) Vormittag werde ich ein Update der Forensoftware (inkl. aller Plugins) durchführen. Das Forum wird deshalb auf unbestimmte Zeit nicht verfügbar sein. Neuigkeiten wird es im Matrix Chat geben: https://www.kodinerds.net/thread/79927-freischaltung-matrix-chat/
  • Schau' mal im Beitrag #374. Was mir bei deinem Compose auffällt, sind die abschliessenden Slashes. K.A., ob das so richtig ist.

    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

  • Jep die Slashes sind zuviel, und die PUID und GUID gibt es beim Takealug Easyepg nicht:

    es werden nur USER_ID & GROUP_ID vom Container gelesen.

    Code
    - /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/new-easyepg:/easyepg
    - /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/new-easyepg/xml:/xml

    TVHeadend Docker Version kannst ganz einfach das Easyepg importieren und zwar über Internen EPGGrabber Webgrab Plus (tv_grab_wg). Dazu musst noch nichtmal irgendwas bearbeiten sondern die xml File wie folgt einbinden:

    Code
    volumes:
     - /pfad/new-easyepg/xml:/config/data

    Im TVHeadend Docker Compose

    Thats it.

    Ich hab auch erst lange rumgebastelt bis das funktioniert hat, aber das TVHeadend von Linuxserver.io hat bereits tv_grab_wg integriert und das verweist auf dem Pfad /config/data

    Wenn du einfach dort hin mountest macht den Rest TVHeadend selbst.

  • Und falls du die URL zu der *.xml brauchst, bekommst du die so, wie auf dem Bild markiert.

    Der sieht dann z.B. so aus: https://*url*/download/epg.xml


    Lg

    Bilder

    Meine Geräte:
    Wohnzimmer: LG OLED55C17LB mit HDFury Diva Ambilight, Denon AVR-X2500H, AXAS E4HD Ultra DVB-C/S2, NVIDIA ShieldTV Pro (2019), Teufel Ultima MK2 5.1-Set & Atmos Reflect Speaker
    Schlafzimmer: Philips 55OLED805/12, FireTV Stick 4k Max Gen2, Teufel Cinebar One, Teufel Subwoofer T6
    Zubehör: Logitech Harmony 950+Hub, Amazon Alexa (2x Dot Gen4, 2x Echo Show 5 Gen2, 1x Echo Show 10 Gen1), Philips Hue, Google Nest, Playstation 5 & PSVR2, Xbox Series X, Nintendo Switch 2, Meta Quest 3, PC

  • Lehmden1 las dich nicht verwirren. das einzige was falsch ist:

    Code
    /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/new-easyepg/xml/:/xml

    die zeile weg und du hast zugriff auf deine xml wo du sie erwartest.

    slash am ende oder nicht, ist voellig egal

    ob da irgend welche ENV gesetzt sind die im container nicht verarbeitet werden, wurst.

  • Hi.

    Ändert nichts, egal ob mit Slash oder ohne, mit Volume oder ohne, mit PUID oder ohne, spielt keine Rolle. Easyepg läuft immer dafür landet die XML Datei niemals da, wo sie landen soll. Sie ist zwar per HTTP Download problemlos erreichbar (und zwar immer), aber eben nicht als lokale Datei an einem Ort, auf den man irgendwie zugreifen könnte. Leider kann man ja auch nicht in das Dateisystem des Containers rein gucken. Dazu müsste sowas wie mc oder wenigstens eine SSH- Shell mit im Container laufen. Wenn ich nur eine Ahnung hätte wohin easyepg die Datei speichert, könnte ich vielleicht rausfinden, wie man das umgehen kann. Aber so weiß ich einfach nicht weiter. Im schlimmsten Fall muss ich ein Script basteln, das z.B. mit Wget die Datei herunter lädt und so speichert, das man dran kommen kann. Gibt es wget bei OMV? Eigentlich ja, würde ich denken. Hab ich aber noch nie getestet.

    Auf jeden Fall vielen Dank für die Hilfe.

    -------------------------------------
    Danke fürs lesen, Claus

  • Der Pfad den du in deiner compose angibst, ist auch der, der real und im Container da ist. Du kannst also per ssh auf dein omv und in den docker-daten/easy-epg pfad und da siehst du auch alles.

    Alles was nicht da drin ist, ist nur temporär im ram.

    es sind die kleinen Dinge, alltägliche Taten von gewöhnlichen Leuten, die die Dunkelheit auf Abstand halten. Einfache Taten aus Güte und Liebe.


    Dune HD ATV14 | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

  • Alles was nicht da drin ist, ist nur temporär im ram.

    Ok, dann speichert easyepg seine Daten (bei mir) immer nur im RAM, doch warum? Die Standard- Pfade sind da und beschreibbar, auch das Umlenken per "volumes" verweist auf Orte, die problemlos beschreibbar sind. Aber egal was ich da versuche, das klappt nie. Nicht lustig, obwohl EPG Daten ja nur eine sehr kurze "Halbwertszeit" haben. Gibt Schlimmeres, was da nur temporär im RAM landen könnte.

    -------------------------------------
    Danke fürs lesen, Claus

  • Ändert nichts, egal ob mit Slash oder ohne, mit Volume oder ohne, mit PUID oder ohne, spielt keine Rolle.

    Einen Restart/Neustart des Containers hast Du gemacht?

    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

  • Einen Restart/Neustart des Containers hast Du gemacht?

    Natürlich, sogar mit "Down", nicht nur "Stop", damit der Container auf jeden Fall neu erzeugt wird. Nach jeder Änderung den Container neu starten, einen Moment warten und dann das Grabben wieder anstoßen. Ändert nur leider rein gar nichts. Die XML Datei bleibt im Dateisystem verschwunden, kann aber per HTTP geladen werden. Ist bestimmt nur eine ganz dumme Kleinigkeit, die ich aber einfach nicht finde.

    -------------------------------------
    Danke fürs lesen, Claus

  • Der Mountpfad ist auch ungewöhnlich.

    Vielleicht solltest du probieren das ganze per /etc/fstab permamnent zu mounten.

    Code
    /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/ /mnt/meineplatte auto nosuid,nodev,nofail,noauto 0 0


    Je nachdem was für Dateisystem das ist natürlich den Pfad /mnt/meineplatte kannste ändern wie du möchtest insofern das Verzeichnis existiert. /mnt/ ist aber der Linux Standard Mountpfad oder für USB Medien /media/

    Das dann im Docker anpassen. z.b. /mnt/meineplatte/Docker ...

  • Der Mountpfad ist auch ungewöhnlich.

    Vielleicht solltest du probieren das ganze per /etc/fstab permamnent zu mounten.

    Code
    /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/ /mnt/meineplatte auto nosuid,nodev,nofail,noauto 0 0


    Je nachdem was für Dateisystem das ist natürlich den Pfad /mnt/meineplatte kannste ändern wie du möchtest insofern das Verzeichnis existiert. /mnt/ ist aber der Linux Standard Mountpfad oder für USB Medien /media/

    Das dann im Docker anpassen. z.b. /mnt/meineplatte/Docker ...

    Der mountpunkt ist so schon völlig richtig so.

    es sind die kleinen Dinge, alltägliche Taten von gewöhnlichen Leuten, die die Dunkelheit auf Abstand halten. Einfache Taten aus Güte und Liebe.


    Dune HD ATV14 | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

  • Hi.

    Als OS läuft OpenMediaVault 7, also Debian Sandworm. Hier kann man alles sehen:

    Die Box hat 6 GB RAM, da das nicht angezeigt wird. /dev/sda2 ist das OMV Systemlaufwerk. /dev/sda4 ist eine zusätzliche Partition auf der 512 GB NVMe, auf der auch OMV installiert ist und dev/sdb1 ist die nur zum Testen angehängte USB Platte, die mit NTFS formatiert ist. Auf sda4 liegen die ganzen Docker Daten und auch z.B. der Download- Ordner von JDownloader oder der Aufnahme- Ordner von TVHeadend.

    Das ist alles, bis auf die extra Partition auf der System NVMe absoluter OMV Standard. Ohne die extra Partition könnte ich die NVMe nicht für die Docker Sachen u.Ä nutzen, da sich OMV die komplette Bootplatte krallt, sofern man sie nicht vorher schon entsprechend partitioniert. Ist halt mal als OS für USB Sticks konzipiert gewesen. Alle Laufwerke und Partitionen wurden entweder direkt bei der Installation von OMV angelegt oder beim ersten Start bzw. beim ersten Anstöpseln von OMV automatisch so gemounted.

    OMV ist es geworden, weil hier der Fernzugriff einfach am besten funktioniert. Klar, SSH geht immer, aber xRDP oder VNC habe ich nie brauchbar ans laufen bekommen, bei "normalen" Linux Distros. Und ich bin nun mal ein Mausschubser kein "sudo Dauertipper".

    -------------------------------------
    Danke fürs lesen, Claus

  • Hmm ja dann weiß ich auch nicht weiter, das Compose Script passt ja soweit.

    Die XML sollte in Docker-Daten/new-easyepg/xml landen wenn auch die Dateien in Docker-Daten/new-easyepg/ liegen passt das ja eigentlich.

    Möglich wäre noch ein Rechteproblem beim erstellen der epg.xml

    Was sagen die Logs im Docker ?

  • Die XML sollte in Docker-Daten/new-easyepg/xml landen wenn auch die Dateien in Docker-Daten/new-easyepg/ liegen

    Sollte sie, tut sie aber nicht. Die Dateien sind da, wo sie hin sollen. Nur die XML ist nicht zu finden. Also wird sie vermutlich nur im RAM gespeichert...

    Rechteproblem? Hmm, der XML Ordner wurde vom Docker selbst angelegt, genau wie der new-easyepg Ordner. Bei allen anderen Containern klappt das sonst immer. GGFS muss ich doch mal einen anderen User (root? die Sicherheit ist mir erst mal egal) im Compose Script eintragen. Das Log ist für mich nicht wirklich durchschaubar. Ich werde nachher mal versuchen, das Log zu löschen und dann einen neuen Grab- Vorgang durchführen, damit nicht so viel Müll im Log steht. Sonst fange ich noch mal ganz bei Null an und lösche den ganzen Container samt Image und mache alles neu.

    Da ich es oben zu erwähnen vergessen habe, sda4 ist mit ext4 formatiert...

    Vermutlich werde ich erst meine Erfahrungen sammeln müssen und dann das ganze System noch mal völlig neu aufsetzen und dabei dann nicht so viel herum probieren und nicht so viele Fehler machen wie bei diesem Mal. Auf jeden Fall werde ich alle funktionierenden Compose Files vorher speichern, damit ich das nicht alles noch mal von Vorne machen muss... Zum Glück ist ja das werksseitige Windows 10 weiterhin auf dem internen eMMC Speicher installiert (und bleibt dort auch). So kann ich die ganze NVMe problemlos neu formatieren (mit Paragon Partition Master CE, womit man auch Linux Partitionen unter Windows erstellen, formatieren oder löschen kann).

    -------------------------------------
    Danke fürs lesen, Claus

  • Hi.

    Mit den Rechten war etwas tatsächlich komisch. Das XML Verzeichnis hatte root als Owner und Group. Hab ich mit chown auf den User und Group aller anderen Dateien/Ordner im Verzeichnis geändert, hilft aber trotzdem nichts. Dafür habe ich nun die xml Datei doch im Filesystem gefunden. Sie liegt unter

    /var/lib/docker/volumes/{ganz lange GUID}/_data/

    Also klappt da doch etwas nicht mit dem Erzeugen der Volumes des Containers. Nur was?

    -------------------------------------
    Danke fürs lesen, Claus

  • /var/lib/docker/volumes ist nur der Pfad im Container da liegt die klar auch aber da kommst von außen normal nicht dran ohne root.

    In den Container Volumes sind die Rechte immer Root das soll auch so sein.

    Der Mount zum Host System muss aber funktionieren also das was in /srv/dev-disk ... liegt das ist der Host System Mountpfad und da sollte auch was drin sein sonst passt da eben entweder mit dem Mount oder mit den Rechten was nicht.

    Was sagt denn ls -la unter /srv/dev-disk.../new-easyepg

  • Nun hab ich es raus. Die Volumes Definition war doch falsch. Außerdem habe ich die USER_ID und GROUP_ID auskommentiert. Ist nicht nötig.

    Bisher hatte ich das immer so (in der Art) definiert:

    - /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/easyepg/xml:/xml

    Richtig ist aber

    - /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/easyepg/xml:/easyepg/xml

    Zumindest funktioniert es nun bei mir so wie erwartet.

    Hier noch mal das ganze bei mir wirklich funktionierende Compose File, damit der Nächste nicht so viel rumbasteln muss.

    Spoiler anzeigen

    services:
    easyepg:
    image: takealug/new-easyepg:latest
    container_name: easyepg
    environment:
    - TIMEZONE=Europe/Berlin
    - UPDATE=yes
    - REPO=script.service.easyepg-lite
    - BRANCH=main
    # - USER_ID=1000
    # - GROUP_ID=1000
    volumes:
    - /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/easyepg:/easyepg
    - /srv/dev-disk-by-uuid-e40da4a5-4f51-4642-8e7e-c67275cd485d/Docker-Daten/easyepg/xml:/easyepg/xml
    tmpfs:
    - /var/log
    - /tmp
    ports:
    - 4000:4000
    restart: unless-stopped


    Wie gesagt, USER_ID und GROUP_ID braucht man normalerweise hier nicht. Außerdem habe ich den Namen von new-easyepg auf easyepg geändert. Gefällt mir besser.

    -------------------------------------
    Danke fürs lesen, Claus

Jetzt mitmachen!

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