[Docker] telerising.minimal

  • So, build ist durch und scheint so weit geklappt zu haben. Ich hab die Pipeline bei GitHub manuell angestoßen und das ganze aktuell als "0.12.5-buster" gebaut. Ich vermute, dass das auch im docker-hub jetzt schon funktioniert. Ich baue aber gerade trotzdem nochmal neu als "0.12.5" ohne den Zusatz. Technisch werden die beiden Varianten aber letztlich identisch sein.

    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", Apple TV 4K (3. Generation), Cambridge Audio CXUHD
    Backend: PC Engines APU 2D4 (Docker: TVHeadend, Telerising, Easyepg, Deconz, OpenHAB)

    Einmal editiert, zuletzt von dlueth (25. April 2024 um 11:51)

  • Hallo zusammen, ich bekomme den Telerising Container irgendwie nicht fehlerfrei installiert. Hab es im Docker auf meinem Proxmox und auf der QNAP probiert.

    Bei beiden scheint er sich an dem mounten der settings.json als datei zu stören.

    Die Fehlermedung ist:

    Docker: Error response from daemon: create {SETTINGS.JSON}: "{SETTINGS.JSON}" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
    See 'docker run --help'.

    Gibt es da irgend einen trick wie ich das trotzdem installiert bekomme?

    Hab es zwar zum laufen bekomme, dabei scheint er dann aber die settings.json als Folder zu erstellen, jedenfalls fkt Telerising zwar, aber es komtm immer ein API Fehler und die Einstellungen sind nach Docker reboot weg.

  • Siehe readme, ganz unten. Du musst das schon ersetzen... https://github.com/dlueth/telerising.minimal

    Ja das wurde mir dann auchz schnell klar. Das hatte ich dann auch ausprobiert, hat aber auch nicht fkt. Habs auf QNAP und auf PVE (mit LXC Docker) ausprobiert, bei beiden legt er immer entweder ein directory settings,json an oder produziert einen Error. Die Fehlermeldung hab ich nur schnell abends nochmal produziert ohne eueren Docker run anzupassen, das war mein Fehler.

    Aber ich hab verschiedenste Schreibweisen für den Pfad ausprobiert, die klappen bei meinen beiden Docker Installationen alle nicht. Hab 20 Container laufen, also hab da zwar bischen Übung, aber nicht so die tiefe Kenntnis davon leider. Benutze meist Compose oder Portainer.

    Hier der Docker run für die QNAP mit angepasstem Pfad den ich genauso probiert hatte, fkt aber auch nicht:

    docker run \
     -d \
     -p 5007:5000 \
     -v /etc/timezone:/etc/timezone:ro \
     -v /etc/localtime:/etc/localtime:ro \
     -v /share/CACHEDEV2_DATA/Container/container-station-data/lib/docker/volumes/telerising/settings.json:/settings.json:ro \
     --user=${UID}:${GID} \
     --name=telerising \
     --restart=unless-stopped \
     --network=bridge \
     qoopido/telerising.minimal:latest

    Fehlermeldung:

    docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/share/CACHEDEV2_DATA/Container/container-station-data/lib/docker/volumes/telerising/settings.json" to rootfs at "/settings.json" : mount /share/CACHEDEV2_DATA/Container/container-station-data/lib/docker/volume s/telerising/settings.json:/settings.json (via /proc/self/fd/6), flags: 0x5001: not a directory: unknown: Are you trying to mount a directory onto a file (or vi ce-versa)? Check if the specified host path exists and is the expected type.

    Und relative Pfade (-v ./settings.json...) hab ich auch probiert, die produzierten die gleichen Fehler.


    Ach so und hier mein Docker compose Versuch. Der fkt, aber nur wenn man die Zeile / Zeilen für das settings.json weglässt.

    services:
     telerising.minimal:
       container_name: telerising
       image: qoopido/telerising.minimal
       restart: unless-stopped
       user: 1000:1000    
       network_mode: bridge
       environment:
         - PUID=1000
         - PGID=1000
         - TZ=Europe/Berlin    
       volumes:
         - type: bind
           source: /share/CACHEDEV2_DATA/Container/container-station-data/lib/docker/volumes/telerising/settings.json
           target: /settings.json
         - /etc/timezone:/etc/timezone:ro
         - /etc/localtime:/etc/localtime:ro
       ports:
         - 5000:5000

  • Ich würde vermuten der Pfad ist falsch oder dem Benutzer mit dem Du den Docker startest fehlen die Rechte oder die settings.json ist keine Datei. Zumindest ist das das, was die Fehlermeldung hergibt.

  • Hallo zusammen,

    ich habe folgende Probleme nach dem Starten des Containers:

    GUI zeigt 'Connection error: Please check your internet connection.'
    Nach Update Session zeigt GUI: 'Unable to retrieve API status'

    Log zeigt folgendes an:
    [2024-08-09 08:47:08,740] ERROR in app: Exception on /api/session [POST]
    Traceback (most recent call last):
     File "//app/routes/api.py", line 128, in update_session
    File "//app/tools/log.py", line 7, in error
     File "//logging/__init__.py", line 2003, in basicConfig
     File "//logging/__init__.py", line 1146, in __init__
     File "//logging/__init__.py", line 1175, in _open
    PermissionError: [Errno 13] Permission denied: '/exceptions.txt'
    During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
     File "//flask/app.py", line 1473, in wsgi_app
     File "//flask/app.py", line 882, in full_dispatch_request
     File "//flask/app.py", line 0, in handle_user_exception
     File "//flask/app.py", line 880, in full_dispatch_request
     File "//flask/app.py", line 865, in dispatch_request
     File "//app/routes/api.py", line 131, in update_session
    File "//app/tools/log.py", line 7, in error
     File "//logging/__init__.py", line 2003, in basicConfig
     File "//logging/__init__.py", line 1146, in __init__
     File "//logging/__init__.py", line 1175, in _open
    PermissionError: [Errno 13] Permission denied: '/exceptions.txt'

    Ich verwende Armbian 24.5.3 Bookworm (arm64v8). User 1000 ist Mitglied der docker-Gruppe:

    docker run \
     -d \
     -p 5000:5000 \
     -v /etc/timezone:/etc/timezone:ro \
     -v /etc/localtime:/etc/localtime:ro \
     -v /opt/telerising/settings.json:/settings.json \
     --user=1000:1000 \
     --name=telerising \
     --restart=unless-stopped \
     --network=bridge \
     qoopido/telerising.minimal:latest

    Verwende ich ein Host-Netzwerk (ohne Portweiterleitung), läuft alles problemlos.

    Irgendwelche Ideen bzgl. der Ursache?

  • Hallo,

    im Host-Netzwerk ist eine Portweiterleitung im Docker run-Befehl nicht notwendig. Man kann direkt die GUI über http://ip:5000 erreichen. Die im Log zu findenen Fehler beziehen sich alle auf fehlende Rechte der exceptions.txt Ich habe diese Datei jetzt auf den Host mit '-v /opt/telerising/exceptions.txt:/exceptions.txt' gemapt. Jetzt sind die Fehler im Log verschwunden. Die gemapte 'exceptions.txt' auf dem Host wird gefüllt.

    Trotzdem bleibt das ursprüngliche Problem im Bridge-Netzwerk bestehen:
    GUI zeigt 'Connection error: Please check your internet connection.'
    In der 'exceptions.txt' laufen nach 'Update Session' folgende Meldungen auf (10.6.6.18 ist der PC, von dem aus ich zugreife):

    INFO:werkzeug:172.17.0.1 - - [09/Aug/2024 10:55:24] "GET / HTTP/1.1" 302 -
    INFO:werkzeug:127.0.0.1 - - [09/Aug/2024 10:55:52] "GET / HTTP/1.1" 302 -
    ERROR:root:Connection error: Please check your internet connection.
    NoneType: None
    INFO:werkzeug:10.6.6.18 - - [09/Aug/2024 10:55:55] "POST /api/session HTTP/1.1" 200 -

    Weitere Ideen? Muß ich evtl. im Bridge-Netzwerk noch etwas anpassen?

  • Irgendwie klingelt da etwas bei mir in Bezug auf armbian - musste da nicht irgendwas umkonfiguriert werden damit docker sauber läuft in Bezug auf Netzwerk?

  • Stimmt. Armbian nutzt den 'systemd-resolved' Dienst, der auf 127.0.0.53 lauscht. Um dies zu ändern muss in der Datei '/etc/systemd/resolved.conf.d/00-armbian-default-dns.conf' 'DNSStubListener=no' sowie der gewünschte DNS-Server hinzugefügt werden. Trotzdem ist die Angabe eines externen DNS-Servers im Docker-run mit '--dns 1.1.1.1' für telerising notwendig. Muss übrigens auch bei anderen docker-containern, die eine Internetverbindung erfordern, gesetzt werden (z.B. beim NginxProxyManager für letsencrypt).

Jetzt mitmachen!

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