Sprichst Du jetzt mit mir? Was soll mir das bringen? Ich kann, warum auch immer, kein lauffähigen Segmenter unter 14.04 64Bit erstellen.
Docker-Bausteine für VDR
-
-
Sprichst Du jetzt mit mir? Was soll mir das bringen? Ich kann, warum auch immer, kein lauffähigen Segmenter unter 14.04 64Bit erstellen.
Ja, sorry, quoten ist etwa schwierig auf dem Handy wenn man keine Fullqotes machen will. Was dir das bringen soll ist doch ganz einfach. Das PPA baut doch für dich für die Version deiner Wahl.Gerald
-
Hi,
ich hatte das ja auch vor, also ein docker-file welches ein Image baut (und das Image ggfs ins Docker-Registry-Repo pushen) zu erstellen und dann darin iStreamdev und iVDR anzubinden, mit einem nginx-php-fpm davor. komme nur nicht dazu vor dem nächsten Wochenende.
Grundsätzlich hat gda recht finde ich, aber Du kannst sicherlich auch beim Imagebuild das "Compile" machen und danach alles aufräumen - ist "eigentlich" egal. Ich habe hier epgd im Test und pulle da jedesmal beim "docker build -t ." das git-repo, patche rum usw ... und das Image ist am Ende clean und klein.
Also eine Frage der Einstellung denke ich. Wenn Du es so ans Laufen bekommst - prima
Poste Deine Dockerfile falls Du magst, dann spar ich mir die Arbeit am WE
Ansonsten - ich habe für mich das "Phusion base image" als Basis auserkoren, da kann ich einen ssh server scharf schalten für Debugging/Testzwecke usw ... Evtl. willst Du das mal antesten für Dein build. Ausserdem, und das ist das wichtigere für meine Zwecke, hat es ein funktionierendes "Init"-like System, also kann ich orchestriert Daemons starten im Container. Und die werden auch mit einem echten signal gestoppt/pausiert, und keine Zombies wie bei den meisten anderen Baseimages. Gibt's auch in 14.04 ubuntu.
Das fertige Image pushen geht dann übrigens echt simpel.
a) Direkt das Image mit docker push hinbeamen, oder
b) Einen Account anlegen, und die 2. Option auswählen, damit kannst Du es an ein Git Repository (auf github geht es, was anderes habe ich noch nicht getestet) verlinken und Docker.com macht einen Build für Dich. Nach jedem update/commit auch neu.VG,
Alex -
Hi Jondalar,
wie hast Du das mit dem Ubuntu 12.04 mit VDR und dem Zugriff auf die DVB-Karten genau hinbekommen ?
Bei mir findet VDR immer die DVB (-C) Karten nicht, auf dem "Host"-System (Ubuntu 14.04) klappt es aber ohne Probleme.Finde das ganze Konzept mit Docker extrem interessant und würde gerne mehr damit experimentieren.
Grüße,
Zorin -
Bei mir findet VDR immer die DVB (-C) Karten nicht, auf dem "Host"-System (Ubuntu 14.04) klappt es aber ohne Probleme.
Hi,
Probier mal rum mit den Parametern:--privileged
--device=/dev/dvb/was-auch-immer-dahin-mussIch habe bei meinen Tests mit privilged gearbeitet, und das ging. Blendet halt den gesamten Device-Tree des Hostsystems in den Container... Also Potential für Zugriffskonflikte en Masse. Was sicher besser ist, ist einzelnen Devices reinzugeben.
VG,
J* -
Die Option --device finde ich sehr interessant, aber ich finde nur sehr wenig Hinweise darauf. Docker auf Ubuntu 12.04 kennt die Option nicht und in der Doku von Docker finde ich sie auch nicht. Braucht man da eine bestimmte Version?
Gerald
-
Braucht man da eine bestimmte Version?
Die Option ist noch keine drei Wochen alt: https://github.com/docker/docker/pull/6961
-
Hi all,
für andere zum weiterprobieren:
Basis ist bei mir Ubuntu 14.04, wenn ich es nicht per apt-get install docker.io, sondern mit "" einfüge (laut http://docs.docker.com/install…tu-trusty-1404-lts-64-bit), klappt es auch mir dem --priviledged.
Ist zwar eleganter mit --device, aber das hat bei mir so nicht funktioniert, ist halt ggf. noch nicht in dem lxc-build enthalten.
Jetzt heißt es erstmal probieren und schön machen dann später...Bin ganz angetan von Docker, in der aktuellen C't ist auch ein Artikel enthalten..
Grüße,
Zorin -
Und weiter geht die wilde Fahrt. Die Frage ist nur, wie ich VDR im Container möglichst automatisch starten kann.
Init-System scheint ja bei Docker prinzipbedingt nicht ohne Tweaks zu funktionieren.@Yondalar: Wie startest Du den VDR ? Automatisch beim Container/Image-Start ?
Grüße,
Zorin -
Hi Zorin,
ich nehme das "Fusion Base Image", das hat ein abgestecktes init-System --> siehe mein Plex Image, da kannst Du es abkupfern.
Den Container kannst Du dann von aussen über das Initsystem oder Upstart hochfeuern.
Ansonsten - bau Dir ein Script und das führst Du mit CMD meinscript.sh halt aus, das ist ja das einzige Kommando, dass Du ins Dockerfile packen kannst.
Cheers
J* -
Moin,
ich habe gestern wieder mit einem yavdr-headless image weitergemacht und auch einen Versuch von einem anderem User auf github gefunden. Ein paar Fragen an gda und co habe ich:
* kann ich mittels der yavdr scripte irgendwie per se headless initialisieren?
* Also ohne X, usw, evtl per Flag, welches durch das Post-install/Post-Upgrade ausgewertet wird?
* Gibt es eine Übersicht, welche Ports alle nach aussen gehen bei einer Standardinstallation?Mir fällt dazu ein:
SSH 22
HTTP 80/443
STreamdev 3000Was ist denn mit
SVDRP 6419 oder ?
NFS ?
Avahi/Zeroconf ?
MySQL (3316) ?Wozu: Aktuell soll ein Container bei mir auf eine Digital Ocean Instanz laufen und via VPN einige IPTV Streams zur Verfügung stellen - also noch nichts mit Devices bisher.
Ihr müsst mir keine fertigen Antworten geben, Hinweise auf Threads oder welche Richtung ich suchen soll reichen mir schon
LG
Alex -
Gibt es eine Übersicht, welche Ports alle nach aussen gehen bei einer Standardinstallation?
Nicht direkt. Aber mir fallen da noch live, restfulapi und samba ein. MySQL ist bei yaVDR nicht standardmäßig installiert.
Ansonsten einfach schnell eine VM aufgesetzt und yaVDR installiert und dann mit netstat nachsehen...Lars.
-
* kann ich mittels der yavdr scripte irgendwie per se headless initialisieren?
Ich weiß nicht auf welche Skripte du abzielst? So etwas wie Install-Skripte gibt es bei yaVDR nicht. Wir sagen nur dem Ubuntu-Installer welche Basis-Pakete er installieren soll.
Eines davon ist yavdr-essentiell. Das ist ein Meta-Paket, in dem nur die Abhängigkeiten zu den benötigten Paketen stehen. Install-Skripte sind nicht gut, weil die ständig angepasst werden müssen, wenn sich in den Paketen was ändert. Install-Skripte sind nicht nötig, weil die Pakete ja schon selbst wissen wie sie installiert werden müssen.
Das ist so allerdings für deine Zwecke nicht geeignet, weil da eben auch Xorg, ... enthalten ist, aber du könntest daraus ein yavdr-headless-essential machen indem du alle unnötigen Pakete daraus entfernst. Das Paket könnte ich dann bei uns hosten und du könntest es dann in deinem Dockerfile referenzieren.
Sollte sich dann die Abhängigkeiten ändern, könnte das Dockerfile gleich bleiben.* Gibt es eine Übersicht, welche Ports alle nach aussen gehen bei einer Standardinstallation?
Nein, da gab es bis jetzt keine Notwendigkeit.Wozu: Aktuell soll ein Container bei mir auf eine Digital Ocean Instanz laufen und via VPN einige IPTV Streams zur Verfügung stellen - also noch nichts mit Devices bisher.
SchadeGerald
-
Hi Mini, Gerald,
danke für die schnellen Antworten
Das yavdr-essential-paket, ist das mit equivs erstellt? Dann lese ich mich da mal ein. Ich würde das glatt so machen wollen, also alles raus was man nicht braucht und dann probieren wir mal weiter. Sobald es auf dem VPS läuft probiere ich daheim mit den Devices weiter, versprochen.
VG,
Alex -
"Prinzipiell" (nicht geeignet für Anfänger) lässt sich yaVDR auf einem nackten Ubuntu so installieren:
/etc/apt/apt.conf editieren und da hinzufügen:
und dannCodesudo su - add-apt-repository -s ppa:yavdr/main add-apt-repository -s ppa:yavdr/stable-vdr add-apt-repository -s ppa:yavdr/stable-yavdr add-apt-repository -s ppa:yavdr/stable-xbmc apt-get update apt-get install yavdr-essential yavdr-post-install
Wenn du statt yavdr-essential ein passendes headless-Paket hast wie Gerald es vorgeschlagen hat, dann kannst du bei den events im Verzeichnis "post-install" (siehe yavdr-utils) eigene Scripte ablegen, die dann automatisch nur bei der Installation abgearbeitet werden (wenn ich das alles richtig verstanden habe, bin erst später zu yaVDR hinzugestoßen, da stand das alles schon).Hm, ein headless-essentials-Paket klingt interessant.
Einfach https://github.com/yavdr/yavdr-essential klonen und die Datei yavdr-essential entsprechend anpassen.
Und wenn du das Paket umbenennen möchtest, dann entsprechend das debian-Verzeichnis anpassen.Lars.
-
Das yavdr-essential-paket, ist das mit equivs erstellt? Dann lese ich mich da mal ein. Ich würde das glatt so machen wollen, also alles raus was man nicht braucht und dann probieren wir mal weiter. Sobald es auf dem VPS läuft probiere ich daheim mit den Devices weiter, versprochen.
Im Prinzip genügt es diese Datei anzupassen und das Paket mit dpkg-buildpackage neu zu bauen. Wenn man das WFE dann noch von dadurch unsinnig gewordenen Optionen (Frontends, Lirc usw.) befreien möchte, muss man da auch noch nacharbeiten.
-
Super Infos! Danke!!! (fork ist schon gemacht, ich bastle da heute Abend dran weiter und morgen)
Noch ne Frage - wie kann ich denn dann das manuelle "yavdr-headless-essential" mit allen Abhängigkeiten installieren? Mit dpkg -i XYZ.deb meckert er dann, das ihm was fehlt.
*nicht so wichtig* weil ich kann den Krams ja auch so per Hand jetzt einfach installieren.
VG,
Alex -
PPA bei Launchpad erstellen und dort hochladen...
Danach dann mit apt-get installieren. Woher soll dpkg denn sonst die abhängigen Pakete ziehen?Oder "apt-get -f install", das müsste auch gehen.
http://askubuntu.com/questions…stall-dependencies-for-megdebi soll das auch können.
Lars.
-
gdebi hat ich gar nicht mehr aufm schirm .. haste Recht! Merci. Ich löse es erstmal mit einem langen apt-get für den Docker-Krams, und dann sehen wir weiter.
Grüße,
J* -
Das yavdr-essential-paket, ist das mit equivs erstellt?
Was ist equivs? Übrigens, alle Projekte in unserem github erzeugen automatisch Pakete bei Launchpad nach einem commit.Vielleicht lässt sich Lars ja dazu überreden, dass auch für dieses Paket einzurichten und dir Zugriff darauf zu ermöglichen
Gerald
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!