MiniDLNA mit zweiter Instanz starten

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Richard
Beiträge: 653
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

MiniDLNA mit zweiter Instanz starten

Beitrag von Richard » 05.11.2020 18:21:04

Hi,

angeblich soll es wie hier viewtopic.php?f=32&t=164040&start=15#p1121749 und hier viewtopic.php?f=32&t=164040&start=30#p1121800 beschrieben möglich sein, zwei MiniDLNA-Instanzen zu starten um z. B. zwischen verschiedenen Inhalten zu wechseln - das geht aber auf meinem Pi nicht. Kann vielleicht jemand der das so nutzt mal die Konfig posten? Soweit ich das verstanden habe, müssen die UUIDs beider Instanzen unterschiedlich sein. Minidlna nutzt, wenn keine UUID festgelegt ist, die MAC-Adresse des Netzwerkgerätes. Einen Eintrag "UUID" gibt es aber in der Config nicht, nur serial und soweit ich das sehe wird darüber die UUID festgelegt.

Ich habe jetzt 2 laufende Instanzen so eingerichtet wie im Thread beschrieben. Beide haben unterschiedliche Namen, Quell-Ordner, Ports und Serials. Über den Browser kann ich über ip:port beide ansehen und erkenne die unterschiedliche Anzahl der Dateien. Ich finde aber immer nur eine Instanz über die UPnP-Clienten. Auch ist die ID die manche UPnP-Clienten anzeigen (z. B. Kodi) immer die gleiche, egal welche der beiden Instanzen erkannt wird, egal ob nur eine läuft und egal was ich bei "serial=" eintrage. Hab auch einfach mal "UUID=" versucht, ändert nichts.

Was macht den die PID-Datei? Die habe ich für die zweite Instanz einfach aus der 1. kopiert und umbenannt. Darüber wurde überhaupt nicht gesprochen.

Richard

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: MiniDLNA mit zweiter Instanz starten

Beitrag von smutbert » 13.11.2020 13:26:23

serial ist nicht die uuid. Soweit ich mich erinnern kann hat scientifics Anleitung problemlos funktioniert. Du musst halt eine Zeile wie

Code: Alles auswählen

uuid=irgendwas
zu den Konfigurationsdateien hinzufügen. Ob man da mehr oder wenige beliebige Werte nehmen kann oder die uuids tatsächlich mit Debianuuid-runtime erzeugen muss, weiß ich nicht mehr.

Zum Zeitpunkt dieser beiden Threads haben wir uns vor allem mit der verwirrend, falschen Behauptung in der deutschen Dokumentation beschäftigt die uuid wäre die User-ID des Benutzeraccounts unter dem minidlna laufen soll. Das ist aber inzwischen längst korrigiert worden.

Wenn du trotzdem nicht weiterkommst, kann ich ja einmal versuchen (m)eine damalige Konfiguration mit zwei minidlna-Instanzen zum Laufen zu bringen und wenn es läuft hier posten.

Richard
Beiträge: 653
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: MiniDLNA mit zweiter Instanz starten

Beitrag von Richard » 15.11.2020 11:58:58

Soooo ... Scheinbar läuft es.

Kurze Zusammenfassung:
Den bei der Installation erstellten Autostart deaktiviert und eine neue Service-Unit angelegt

Code: Alles auswählen

cat /etc/systemd/system/minidlna@.service 
[Unit]
Description=Mediaserver minidlna: %i
After=network-online.target
ConditionPathExists=/etc/%i.conf
PartOf=minidlna.service
ReloadPropagatedFrom=minidlna.service

[Service]
User=minidlna
Group=minidlna
RuntimeDirectory=%i
#ExecStart=/usr/sbin/minidlnad -S -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid
ExecStart=/usr/sbin/minidlnad -S -f /etc/%i.conf -P /run/minidlna/%i.pid
#PIDFile=/run/minidlna/minidlna.pid

[Install]
WantedBy=network-online.target
Ich musste im Vergleich zu dem was 2017 gepostet wurde "ConditionPathExists=" anpassen, hier war ursprünglich immer die gleiche (statische) Config verlinkt.

Start erfolgt dann mit

Code: Alles auswählen

sudo systemctl start minidlna@minidlna.service minidlna@minidlna2.service
Es müssen wie 2017 beschrieben 2 Config-Dateien in /etc angelegt werden. Diese müssen sich in media_dir= , port= und uuid= (nicht serial=) unterscheiden. Ob die UUID eine spezielle Form braucht habe ich nicht getestet, ich habe hier https://www.uuidgenerator.net/ 2 16-stellige erstellen lassen. Nimmt man serial starten zwar beide Instanzen, der Client findet aber immer nur eine davon. VLC auf dem Smartphone auch nach jedem App-Neustart mal den einen mal den anderen. Die *.pid hab ich einfach kopiert, ist also die gleiche. Keine Ahnung was die macht.

EDIT
Nach einem Neustart des System wurden beide Instanzen gefunden, es wurden aber keine Inhalte angezeigt. Systemd bringt als Fehlermeldung, dass der Pfad nicht gefunden wurde. Scheinbar hat er jetzt Probleme wenn man nicht nur den Pfad sondern auch den Inhalts-Typ angibt. Also so

Code: Alles auswählen

media_dir=V,/opt/videos
statt so

Code: Alles auswählen

media_dir=/opt/videos
Normal sollte das erste nur Videos im Pfad finden, das zweite alles. Bisher war die 1. Variante kein Problem. Da ich inzwischen eh nur Videos habe, ist das aber egal.

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: MiniDLNA mit zweiter Instanz starten

Beitrag von smutbert » 15.11.2020 12:42:59

Die pid-Datei legt minidlna selbst an. Da steht dann die Prozess-ID des zugehörigen minidlna drin. (Damit lässt sich dann beispielsweise leicht prüfen ob die jeweilige minidlna-Instanz noch läuft.)

Du musst sie also keinesfalls kopieren, sondern nur dafür sorgen, dass die beiden Instanzen unterschiedliche pid-Dateien nutzen, wofür ja das %i bei der PID-Datei sorgt.

Richard
Beiträge: 653
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: MiniDLNA mit zweiter Instanz starten

Beitrag von Richard » 15.11.2020 12:58:34

Die PID wird also bei jedem Start neu erstellt? Ich hab ja einfach die PID der schon seit Jahren laufenden Instanz kopiert. Wenn die Datei statisch wäre, hätten ja beide Instanzen wieder die gleichen Daten - was ja aber nicht der Fall ist wie man sieht.

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: MiniDLNA mit zweiter Instanz starten

Beitrag von smutbert » 15.11.2020 20:45:44

Ja, sie wird neu erstellt – beim Systemstart insofern gezwungenermaßen, als /run auf einem tmpfs, also einem Dateisystem im Hauptspeicher liegt, das bei jedem Systemstart nach dem Mounten erst einmal leer ist.

buhtz
Beiträge: 1225
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: MiniDLNA mit zweiter Instanz starten

Beitrag von buhtz » 08.12.2020 22:23:45

Vielleicht hilft auch dieser Thread weiter?
viewtopic.php?f=25&t=165556&hilit=minidlna

Da wird erklärt, wie man mit "instanziierenden Units" mehrere minidlna Instanzen aktiviert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Antworten