Audio & VideoNetzwerk & IP

OpenMediaVault: Docker-Container aufsetzen und im Netzwerk erreichen

Container mit OMV, Docker, Portainer und Docker-Compose-Konfiguration anlegen und nutzen

Wir haben ein OpenMediaVault-Tutorial und auch eine simple Docker-Einführung. Und wenn Ihr beides gelesen habt - tja, dann bringt Euch das wenig ;) Einen Docker-Container in OpenMediaVault zu starten ist im Grunde ganz einfach, ihn ins Netzwerk zu integrieren ein abartiger Graus mittlerweile endlich auch. Dennoch, wirklich intuitiv funktioniert hier immer noch nichts. Hier seht Ihr am Beispiel einer Web-Oberfläche für den eBook-Manager Calibre, wie Ihr Container in Euer ganz normales LAN bekommt.

UPDATE 20.09.2021: Artikel komplett aktualisiert, da Container in OMV jetzt mit Portainer verwaltet werden und die OMV-Extras, inklusive Docker, zunächst installiert werden müssen.

1. Docker installieren

Die OMV-Extras sind nicht mehr standardmäßig enthalten und müssen zunächst installiert werden. Führt daher nach der OMV-Installation im Terminal des OMV-Rechners mit root-Rechten folgenden Befehl aus:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

Damit wird das Installationsskript heruntergeladen und an Bash zur Ausführung weitergereicht. Anschließend findet Ihr die Docker-Funktionen in der OMV-Oberfläche unter OMV-Extras/Docker. Dort installiert Ihr nun über die Menüleiste zunächst Docker und dann Portainer.

Über die OMV-Extras werden Docker und die Docker-Weboberfläche Portainer installiert.

2. Calibre in Portainer aufsetzen

Man kann in Portainer grundsätzlich Images für Container über den Bereich Container konfigurieren und anwenden, aber es führt zumindest hier stetig zu massiven Problemen. Besser geht das über das Portainer-Konzept der Stacks (weil die Docker-Landschaft ja unbedingt noch mehr Konzepte braucht ...):

Besucht die Seite von Calibre-Web auf dockerhub und kopiert den Code unten im Bereich Usage aus dem Kasten docker-compose. Das ist die Konfiguration des Containers in Textform.

Erstellt nun in Portainer im Breich Stacks einen neuen Stack und fügt den Code dort ein. Klickt anschließend unten auf "Deploy the stack".

Über "Stacks" lassen sich in Portainer Docker-Compose-Konfigurationen nutzen.

3. Calibre-Container aufrufen

Wenn das Stack-Deployment fertig ist, findet Ihr den neuen, laufenden Calibre-Container im Bereich Container links in der Navigation. Nun könnt Ihr die Calibre-Web-Oberfläche im Browser über - zum Beispiel - 192.168.178.40:8083 aufrufen. 8083? Das ist der Port, den Ihr mit angeben müsst. Welcher Port das ist, wird von der Anwendung vorgebeben und ist auf der Detail-Seite des Calibre-Web-Images zu finden; auch in der Stacks-Konfiguration seht Ihr die Ports.

Der laufende Calibre-Web-Container mit veröffentlichten Ports.

Wundert Euch nicht über die IP-Adresse: Das ist lediglich die Docker-Netzwerk-interne Adresse und ist für den Zugriff auf die Calibre-Weboberfläche unerheblich. Denn genau dafür ist die Port-Veröffentlichung da: Wenn Ihr auf Eurem Rechner die IP-Adresse des OMV-Rechners samt Port 8083 eingebt, etwa 192.168.178.40:8083, bekommt Ihr die Ausgabe des Containers zu sehen, also eigentlich 172.20.0.2:8083. Ihr könntet auch mehrere Calibre-Web-Container betreiben und den Port 8083 jeweils auf einen anderen umleiten, so dass beispielsweise Calibre-Web-2 über 192.168.178.40:8084 und Calibre-Web-3 über 192.168.178.40:8085 erreichbar wären.

Und wenn Ihr noch Empfehlungen für die perfekte Hardware-Basis braucht: Raspberry Pi und MSI Cubi können wir bedenkenlos empfehlen.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

19 Kommentare

  1. Ich bin absoluter Anfänger auf diesem Gebiet. Bei mir läuft OMV und darin Portainer und Docker (alles auf neustem Stand). An meinem Raspberry Pi 4 habe ich eine SSD-Festplatte angeschlossen. Da liegen die Calibre Bücher auf dem Pfad /NAS/Calibre/. Wie muss dann der Code unter volumes: lauten? Um welche config-Datei geht es hier? Wo muss die liegen? Was muss ich bei PUID / PGID eintragen? Sorry, Fragen über Fragen, aber ich glaube, ich bin kurz vor dem Ziel….danke schonmal

    1. Kurz vorweg: Ich habe kein OMV oder Calibre mehr, kann daher nicht testen. Aber der Pfad sollte einfach der absolute Pfad bis zu der Calibre-Datenbank sein (ich glaube metadata.db). Standardmäßig liegt die da, wo auch die Bücher sind, also bei Dir vermutlich /NAS/Calibre.

      Mit der config-Datei ist die Calibre-Konfiguration gemeint, beziehungsweise der Pfad dazu. Auch hier kannst Du Dir den Pfad frei aussuchen, zum Beispiel /NAS/Calibre/config oder wo auch immer sie hin soll. Sinn dahinter ist einfach, dass die Konfiguration genau wie die Bücher auf einem persistenten Speicher liegen soll, außerhalb des Containers. Ansonsten würde Calibre ja immer mit Standardeinstellungen starten, wenn der Container ersetzt wird.

      1. Hallo Mirco, danke für Deine Antwort. Ich habe mich inzwischen von meinem Projekt verabschiedet, da das Raspberry für meine Zwecke doch nicht geeignet ist. Lg, Dirk

  2. Hallo ich habe das nach dem Tut gemacht wie komm ich drauf wenn ich die 172.20.0.2:8083/ im Browser eingebe Fehler: Netzwerk-Zeitüberschreitung

    Danke

    1. 172.20.0.2:8083 ist die Adresse des Docker-internen Netzwerks – da kannst Du nicht direkt drauf zugreifen. In den Browser gehört 192.168.178.40:8083 – oder wie auch immer die Adresse Deines Computers in Deinem Heimnetzwerk ist.

      Der Port 8083 vom Docker-Container wird auf den Port 8083 des OpenMediaVault-/Docker-Servers (also Deinen Rechner) weitergeleitet.

  3. WIe schaffe ich es eine vorhandene Bibliothek in calibre-web einzubinden? Welche Rechte muß ich für den Ordner der über samba freigegeben und mit Windows befüllt wird erteilen damit ein Container darauf zugreifen kann? egal ob ich den absoluten Pfad (z.B.: – /srv/dev-disk-by-uuid-926239e4-7fbc-4ff0-9efd-e5865f245ad1/Buecher:/books ) oder einen anderen wähle (/Buecher:/books) calibre fragt nach dem 1. Start nach dem Pfad… UID und Guid vom Samba user bringt auch keine Änderung hab ich angegeben, docker zugriffsrecht auf die Freigabe hat auch null änderung…

    1. sorry bin auf meinen Fehler der darin bestand das bei dem Pfad ein Teil beim kopieren verschwunden ist, gekommen… Man sollte halt nicht davon ausgehen das bei omv das mounten so funktioniert wie beim ubuntu-server…

  4. Hallo Habe das Image ghcr.io/linuxserver/calibre:latest unter docker auf meiner Synology laufen. Funktioniert soweit ganz gut. Jettz möchte ich unter Calibre einen Netzwerkserver einrichten um über wlan meine Bücher am Reader zu laden. Leider habe ich aber diese komische IP 172.17.0.0 im Server stehen und die kann ich nicht ändern bzw. darauf von aussen zugreifen. Bitte um Hilfe.

    mfg

    1. Schau mal unter Punkt 3 nach, da steht das eigentlich. Oder hier in einem neueren Docker-Artikel nochmal.

      Die 172.17.0.0 ist die IP des „Docker-internen“ Netzwerks. Der Zugriff von außen läuft über die Portfreigaben, also die Published Ports, die auch im Screenshot in Kapitel 3 hervorgehoben sind.

      1. Hallo Danke für die Info. Das Problem ist aber das Calibre das nicht weiß im Netzwerkserver. Kann ich dir ein Bild schicken um es zu veranschaulichen?

        mfg

      2. Ja klar, schick einfach an maschinist@tutonaut.de oder einfacher: In einem Bilder-Pastebin hochladen und Link hier hinterlassen, etwa Pasteboard. Falls nicht bekannt: Pastebins sind einfach gehaltene Services, bei denen man Texte oder Bilder ganz einfach hochladen und teilen kann, ohne Konto, Anmeldung oder sonstwas.

  5. Hallo Mirco,

    ich habe soeben ebenfalls unter OMV 5 mit deiner obigen Anweisung versucht Docker zu installieren. Ich komme damit bis zum 2. Punkt an dem es darum geht das sog. „MACVLAN“ zu installieren. Bei mir wird unter System/Dienste KEIN Docker angezeigt obwohl bei System/OMV-Extras Docker bei Status angezeigt wird Installed und Running.

    Sorry bin Neuling auf dem Gebiet und habe gesehen das deine letzte Änderung vom 19.09.2021 (Also von heute) ist und daher bin ich davon ausgegangen das diese auch aktuell ist……..

    Gibt es irgendwelche Schritte davor die vielleicht noch erfolgen müssen?

    Ich hab das System schon neu gestartet und auch geschaut ob es Aktualisierungen gibt, das hat allerdings alles nicht geholfen.

    Hast du eine Idee woran es hängen könnte, daß Docker unter System/Dienste NICHT angezeigt wird?

    Danke

    Gruß Filipp

    1. Sorry, mein Fehler, habe das nach dem Kommentar unten heute morgen schnell aktualisiert, da ich dem Kommentar entnahm, der Rest würde funktionieren … ist aber nicht so.

      Die kurze schnelle Antwort: Es muss auch noch Portainer installiert werden, über das Menü daneben. In Portainer kann man dann das Netzwerk erstellen und dann Images installieren und als Container starten.

      Die lange Antwort kommt die Tage, das muss ich komplett neu schreiben, der Artikel hier funktioniert jedenfalls nicht mehr. Leider ist die neue Variante noch viel weniger intuitiv und die Ports wollen noch nicht …

      Tipp, falls Du nicht warten willst: Der Knackpunkt in Portainer ist das Netzwerk. In ein und derselben Eingabemaske konfiguriertman erst eine Konfiguration (etwa MyMacvlanconfig) und dann kreiert man das Netzwerk (MyMacvlan) aus dieser Konfiguration. Völlig bescheuert.

      1. Hallo Mirco,

        danke für die Info und den komplett neu gestalteten Artikel. Ich habe es jetzt auch geschafft einen Container zu installieren. Ich habe allerdings NICHT Calibre wie von dir gewählt sondern Zoneminder und das ganze auch nicht über Stacks installiert aber sei es drum, es hat funktioniert. Ich muss jetzt nur noch schauen wie ich den Container richtig einrichten kann. Ich hab schon gesehen, daß ich wohl ein paar Ports freigeben muss um darauf zugreifen zu können. Soweit von mir. Dir vielen Dank für den „neuen“ Artikel.

        Gruß

        Filipp

    1. Servus, mir geht es genauso. Habe deswegen für den ersten schritt eine Andere Anleitung verwendet und habe dann wieder hier weiter gemacht. Die Anleitung ist super geschrieben und verständlich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"