VDR auf Proxmox 8.1 LXC device not found

  • Moin.

    Bin gerade meine Infrastruktur am migrieren und komme bei Proxmox nicht weiter.


    Wenn ich den docker container im LXC startet kommt


    Code
    ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄⚟ Start VDR ⚞┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
    vdr: no primary device found - using first device!
    user.err: Mar  8 19:41:32 vdr: [47663] ERROR (dvbdevice.c,1905): /dev/dvb/adapter0/frontend0: Permission denied
    user.err: Mar  8 19:41:32 vdr: [47663] ERROR (dvbdevice.c,1905): /dev/dvb/adapter1/frontend0: Permission denied
    user.err: Mar  8 19:41:32 vdr: [47663] ERROR: invalid primary device number: 1
    user.err: Mar  8 19:41:32 vdr: [47663] ERROR: no primary device found - using first device!
    user.err: Mar  8 19:41:32 vdr: [47663] ERROR: invalid primary device number: 1
    VDR exit code: 2

    Im container ist der DVBs2 vorhanden

    Hat jemand einen Tipp?

  • Der User, unter dem dein VDR lauft (sicher nicht "nobody"), hat keinen Zugriff auf die Device mit o.g. Rechten.

    Entweder die Rechte erweitern (chmod a+rw ...), oder den Owner/Gruppe der Devices auf den VDR User (oder Gruppe Video) ändern (privilegieren Container oder User Mapping notwendig) oder privilegieren LXC Container nehmen und den VDR unter root laufen lassen (auf einem Homeserver würde auch damit nicht schlecht schlafen, auch wenn man das eigentlich nicht macht).

  • Sollten die DVB Devices nicht in der Gruppe video sein?

    auf dem proxmox stimmt es


    Code
    root@proxmox:~# ls -la /dev/dvb/*
    /dev/dvb/adapter0:
    total 0
    drwxr-xr-x 2 root root     120 Mar  8 17:32 .
    drwxr-xr-x 4 root root      80 Mar  8 17:32 ..
    crw-rw---- 1 root video 212, 0 Mar  8 17:32 demux0
    crw-rw---- 1 root video 212, 1 Mar  8 17:32 dvr0
    crw-rw---- 1 root video 212, 3 Mar  8 17:32 frontend0
    crw-rw---- 1 root video 212, 2 Mar  8 17:32 net0

    Wie mache ich es den dem LXC container bekannt?

  • Du fängst das Design des Containers von hinten an.

    Zuerst solltest du mal grundsätzlich entscheiden, ob es auf einem Homeserver unbedingt ein unprivilegierter Container sein muss.

    VDR möchte beim Start seine Prozesspriorität erhöhen, was auch Sinn macht. Das geht nur in einem privilegierten Container.

    Dann hättest du auch kein Problem mehr mit dem Zugriff auf die Devices.

    Falls es unprivilegiert bleiben soll, musst du zumindest die Gruppe Video mappen, damit diese im Container die gleiche ist.

    Anleitung z.B. hier.

  • Wenn ich privilegiert umstelle, kommt:

  • Was ist denn das für eine VDR Version ?

    Für das Thema hatte ich vor fast 5 Jahren einen Patch geschrieben, der auch längst übernommen wurde.

  • OK, dann ist wohl das Verhalten mit Docker anders.

    Ich habe den VDR mit nativ LXC am Laufen, das geht ohne Probleme. Sowohl mit privilegieren Container, als auch mit unprivilegierten Container und User/Group mapping.

    Bei Docker muss ich passen, habe nie versucht einen VDR darin zum Laufen zu bekommen.

    Normalerweise startet VDR als root, droppt dann auf den VDR User und möchte die Rechte die Systemzeit zu setzten behalten. Das darf er aber in einem Container nie. An der Stelle verhält sich Docker Compose vermutlich anders als LXC selbst.

  • Trotzdem Danke, ich suche weiter.

Jetzt mitmachen!

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