Docker Container automatisch aktualisieren

Der Werbeblocker auf DNS Ebene
Diverse Webseiten im Internet finanzieren sich durch Werbung, was grundsätzlich nicht schlimm ist. Dennoch ist es möglich, dass durch zu viel Werbung die Webseite unbenutzbar wird. Auch der Sicherheitsaspekt kommt hinzu, denn in der Vergangenheit kam es des Öfteren dazu, dass Schadcode über Werbeeinblendungen verteilt wurde und somit Endgeräte infiziert wurden. Hier helfen in den meisten Fällen Browser Erweiterungen wie uBlock oder Adblocker+, doch es gibt keine effiziente Lösung auf dem Smartphone oder Tablet. Kostenlose Apps werden auch mit Werbung teils überflutet oder sind einfach an nervigen Stellen angeordnet. All das kann mit Pihole der Vergangenheit angehören, denn Pihole ist ein eigenständiger DNS-Server. Sämtliche Inhalte werden automatisch gefiltert. Das heißt, es werden nicht nur Werbung, sondern auch verseuchte Webseiten oder gar nicht jugendfreie Inhalte blockiert.
Mit dieser Variante der Pihole Installation, funktioniert der interne DHCP-Server (DSM – Synology) nicht mehr. Sollten Sie diesen nutzen wollen, folgen Sie diesem Tutorial: Pi-Hole auf einer Synology NAS installieren [Erweitert]
Navigieren Sie zum Paket-Zentrum und suchen Sie unter Alle Pakete die Docker Erweiterung.
Öffnen Sie die File Station im Ordner Docker legen Sie folgende Ordner anlegen:
Öffnen Sie den eben heruntergeladenen Container Manager. Navigieren Sie zum Reiter Registrierung und suchen Sie im Suchfeld nach pihole. Mit einem Rechtsklick auf das pihole/pihole Image, kann das Abbild heruntergeladen werden. Hier sollten Sie latest auswählen.
Nachdem nun das Abbild von Pihole heruntergeladen wurde, muss es eingerichtet werden. Hierfür gehen Sie zum Reiter Image und tätigen einen Doppelklick auf das Pihole Image. Hier angekommen, geben Sie dem Container einen passenden Namen, z. B. pihole. Aktivieren Sie auch den automatischen Neustart und klicken Sie jetzt auf weiter.
Im Einrichtungsassistenten unter Volumeneinstellungen fügen Sie die zuvor erstellten Ordner hinzu. Außerdem ergänzen Sie die Mountpoints, wie auf dem Bild ersichtlich:
Im Abschnitt Umgebung ergänzen Sie die Umgebungsvariablen, wie aus der Tabelle zu entnehmen. Vergessen Sie hierbei nicht, den DNSMASQ_USER auf root zu ändern. Und bei FTLCONF_LOCAL_IPV4 die IP-Adresse Ihrer NAS einzutragen.
Der Container hat jetzt alle benötigten Informationen, welche im nächsten Fenster noch einmal zusammengefasst dargestellt werden. Der Einrichtungsassistent kann jetzt mit dem Klick auf Fertig, geschlossen werden.
Der Container sollte inzwischen starten und Sie können die Weboberfläche mit Ihrer IP sowie dem vergebenen Port öffnen.
Installieren Sie, wie in Methode 1 erwähnt, den Container Manager. Erstellen Sie zudem wie in Methode 1 erwähnt die Ordner.
Öffnen Sie anschließend die Systemsteuerung und klicken Sie auf Aufgabenplaner.
In diesem Menü angekommen, erstellen Sie über den Button Erstellen > Geplante Aufgabe > Benutzerdefiniertes Skript eine neue Aufgabe.
Es öffnet sich ein Fenster, mit drei Tabs. Im ersten Tab (Allgemein) vergeben Sie einen eindeutigen Namen für die Aufgabe, wählen den Benutzer root aus und entfernen Sie den Haken ganz unten.
Im nächsten Tab (Zeitplan), wählen Sie das aktuelle Datum aus und das Script soll nicht wiederholt werden.
Im letzten Tab (Aufgabeneinstellung) können Sie noch Ihre E-Mail-Adresse angeben, um Ausführungsdetails per Mail zu erhalten. Unterhalb in dem Feld Befehl Ausführen, kopieren Sie folgendes in das Feld benutzerdefiniertes Script.
docker run -d --name=pihole \
-e WEB_PORT=8080 \
-e WEBPASSWORD=P@ssw0rd \
-e FTLCONF_LOCAL_IPV4=IPAdresseDerNas \
-e DNSMASQ_LISTENING=local \
-e DNSMASQ_USER=root \
-v /volume1/docker/pihole/dnsmasq.d-configs:/etc/dnsmasq.d \
-v /volume1/docker/pihole/pihole-configs:/etc/pihole \
--net=host \
--restart always \
pihole/pihole:latest
Alles anzeigen
Mit dem Klick auf Ok schließen Sie den Dialog und erhalten folgende Warnung. Bestätigen Sie die Warnung, mit einem weiteren Klick auf Ok. Die Fehlermeldung weist hier darauf hin, dass das Ausführen von Dateien als Root-User ein Sicherheitsrisiko sein kann.
Sie sollten jetzt wieder im Aufgabenplaner sein. Hier markieren Sie die eben erstellte Aufgabe und drücken auf Ausführen.
Im Hintergrund wird jetzt der Docker Container heruntergeladen, und für Sie eingerichtet. Dies kann einige Zeit in Anspruch nehmen, je nach Internetverbindung, sowie der eingesetzten Hardware.
Zum Einloggen können Sie nun folgende Adresse aufrufen: http://IP_der_Synology_NAS:8080
Ein Update des Containers ist simpel gehalten. Löschen Sie im Container Manager den Container und das Image, führen Sie das Script erneut aus. Es wird im Anschluss das aktuelle Image heruntergeladen und gestartet. Keine Sorge, da Sie die Volume eingerichtet haben, liegen alle Einstellungen gesichert auf der NAS.
Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als,
Teil meines Hobbys, gerne Tutorials.
Hier können Sie uns unterstützen.
Antworten 89
Michael Hoffmann
Nachtrag: Hat sich erledigt. Heute morgen geht es wieder. Mein Synology hat sich wohl selbst repariert.
Hallo,
tolle Anleitung. Leider kommt bei mir unter der DSM 7 Fehlermeldungen, nachdem ich aufgrund eines Fehlers das Docker-Image neu aufspielen musste. Kannst Du evtl. mal einen Export Deiner Docker.Einstellungen hochladen, damit ich diese importieren kann? Ich bräuchte dann ja nur noch die IP tauschen.
mfg
Michael
Foxly
Hallo Herr Hoffmann, herzlich willkommen. Danke für das Lob, sollten dennoch Probleme auftauchen helfe ich gerne.
Grüße
geomai
Super Anleitung Foxly ,
leider komme ich an einer Stelle nicht mehr weiter - ich kann das Pihole leider nicht erreichen, es kommt immer nur, dass das öffnen der Seite fehlgeschlagen ist. Habe alle Einstellungen, wie beschrieben gemacht. Können Sie mir weiterhelfen?
Foxly
Hallo geomai und herzlich Willkommen. Nutzt der Docker Container auch das Netzwerk der Synology?
geomai
Puh, gute Frage Foxly !
Wie kann ich das nachschauen?
Foxly
Beim einrichten des Docker Containers unter Netzwerk. Des Weiteren ist es wichtig, die IP-Adresse in den Umgebungsvarianblen unter ServerIP zu hinterlegen.
geomai
Foxly - Achso, ja das habe ich so wie in deiner Anleitung beschrieben gemacht (hat die gleiche IP) und unter Umgebung habe ich die IP des Servers eingetragen…
Foxly
Guten Morgen geomai ,
Grüße
Dietmar
Hallo, vielen Dank zunächst einmal für die Anleitung. Leider wird der Container immer wieder gestoppt, obwohl ich alle Einträge wie beschrieben vorgenommen habe.
auf der Browserseite bekomme ich nur die Meldung: HTTP-Status 404 - Nicht gefunden. Was könnte die Ursache sein.
Zusätzlich läuft noch ein unifi-Container als Controller.
mfg
Dietmar
Foxly
Hallo und Willkommen Dietmar ,
der Unifi-Container nutzt unteranderem den Port 8080. Probieren Sie einmal, den Pi-Hole Container statt auf Port 8080 auf Port 9980 zu nutzen.
Grüße