Ich danke ausdrücklich den hier tätigen Entwicklern @easy4me und @DeBaschdi sowie selbstverständlich allen anderen beteiligten! Zugegeben: Kodi hatte ich nach einiger Testzeit irgendwann aufgegeben (als es noch XBMC hieß, glaube ich), als TVHeadend das mir spezifisch die passendere Lösung geboten hat. Darauf, dass ich hier auch sehr präzise die Lösung für meinen TVHeadend-Betrieb bekomme, hatte ich gar nicht erwartet.
Vielleicht hab' ich's übersehen, aber ich glaube eigentlich nicht. Also bin ich eventuell der erste hier, der das Ganze mit einem QNAP machen will. Da darf ich vielleicht kurz meinen diesbezüglichen Werdegang kurz schildern. Wen das nicht interessiert, kann unten weiterlesen nach dem übernächsten Abschnitt. Zusammenfassend soviel: Es funktioniert!
TVHeadend hatte ich zu Anfangszeiten mit einem DVBt-USB-Stick an einem Raspberry für Aufnahmen am laufen. Mit einigen Zwischenschritten ist das ganze dann auf meinem QNAP TVS-882 und alles in allem 6 Sat-Tunern gelandet. Für QNAP hat ein höchst selbstloser Hobbyprogrammierer im Forum eine App für TVHeadend erstellt, sodass dies mittels regulärem Software-Center installiert werden kann. Viele Jahre habe ich mich ausschließlich mit dem OTA-EPG begnügt und damit auch hervorragend gelebt. Bis dann Ende 2021 plötzlich ein Problem auftrat, das ich nicht eindeutig zuordnen konnte trotz vieler Hilfestellungen seitens diversen Foren und auch QNAP-Support. Das Problem war ganz einfach das, dass irgendwann meine 64 GB RAM am QNAP plötzlich vollliefen und ich erst entweder TVHeadend abschießen oder sogar das NAS komplett neu starten musste. Tut hier nicht wirklich was zur Sache, allerdings habe ich als einen wesentlichen Verursacher für das Problem das OTA-EPG von TVHeadend herausgefunden. Wobei aber nach wie vor seltsam ist, dass die wirklich über mehr als 5 Jahre ohne Schwierigkeit lief und erst mit einem FW-Update des NAS problematisch wurde. Kurzzeitig hatte ich mir dann mit einer weiteren spezifischen App (des gleichen Helfers aus dem Forum) beholfen. Leider wurde dem dann auch irgendwann die Basis (die Datenbank der Senderinformationen) entzogen. Als neue Lösung bin ich nach viel Suche dann auf easyepg gestoßen. Das läuft seither auf einem virtuellen Linux-System innerhalb des QNAP-NAS. Per Cronjob wird dann die epg.xml regelmäßig auf ein Verzeichnis außerhalb dieser VM kopiert und per socat in TVHeadend eingebunen (wurde seinerzeit auch so hier irgendwie beschreiben, soweit ich mich erinnere).
Jetzt ist mir vor wenigen Tagen auch aufgefallen, dass einige Senderinformationen nach und nach "leer" laufen. Zwischenzeitlich habe ich gelegentlich auch den OTA-EPG aktiviert, um auch mal längerfristig das Programm durchgehen zu können und Aufnahmen frühzeitig zu planen. Daher viel mir das erst nach einigen Tagen auf. Ich hatte aber schon vor einigen Monaten das neue easyepg parallel auf der Linux-VM installiert und seither problemlos nebenher mitlaufen, ohne dass ich bisher aber dessen epg.xml wirklich nutze. Das wollte ich jetzt dann angehen und habe ich dann entschieden, dies statt in der VM doch im Container zu machen.
Die Installation auf dem QNAP war problemlos mittels der Container Station zu machen. Es werden dort zwei Laufwerke angelegt mit langen kryptischen Namen. Das erste verweist auf das Programverzeichnis von easyepg selber, das andere auf easyepg/xml. Für mich nicht wirklich nachvollziehbar aber auch egal: Das Verzeichnis xml unter easyepg bleibt leer. Dort habe ich erst mal verzweifelt nach der Datei gesucht. Bis mir dann die Idee kam, im zweiten Laufwerk zu sehen. Und siehe da: Da stehen epg.xml und epg.xml.gz.
Wie das mit den (Docker-)Containern einerseits insgesamt und andererseits QNAP-spezifisch läuft ist mir natürlich noch ein Rätsel. Insbesondere, wann welche Version der Netzanbindung sinnvoll ist. Hier wurde offensichtlich automatisch vom Container die NAT-Variante auf die Adresse 10.0.3.2 mit einer Portweiterleitung 49154 -> 4000/TCP angelegt. Folglich komme ich auf das Webinterface über 10.0.3.2:4000.
Da ich die Sender und alles nicht neu einstellen wollte, habe ich einfach komplett settings.json aus der Linux-VM in den Container kopiert - hat sofort funktioniert. Da ich aber in TVHeadend selber gar nicht soviel ändern möchte, werde ich den letzten Schritt wieder so machen: Einige Zeit, nachdem die Daten gegrapped wurden werde ich per Cronjob wieder die epg.xml an den alten Ort kopieren und wie bisher weiter mit socat einbinden.