AdGuard Home Docker Installation
AdGuard Home ist eine gute Alternative für Pi-hole. Dieser blockiert ebenfalls Werbung für das gesamte Netzwerk auf DNS Basis. Man kann AdGuard Home super einfach als Docker Container starten und somit das gesamte Netzwerk vor Werbung und Tracking schützen. Ebenfalls print es eine Kindersicherungs Lösung mit, was sicherlich ein super interessantes Feature ist. Man kann auch ganze Dienste wie YouTube, Facebook WhatsApp und viele mehr komplett im Netzwerk blockieren. Die gesamte Applikation lässt sich über eine WebGui sehr einfach konfigurieren. Das WebGui Dashboard zeigt einem einen guten Überblick darüber was im Netzwerk los ist und was alles von AdGuard Home blockiert wurde. Via Black and Whitelist kann man Regeln hinzufügen.
Mehr Informationen findet ihr hier:
Hardware
Ich habe AdGuard Home bei mir auf folgender Hardware am laufen:
Wie man auf einem Raspberry Pi Docker und Docker Compose installiert könnt ihr hier nachlesen:
Docker Compose Projekt
Als erstes legen wir unser Compose Projekt an und wechseln in dieses:
mkdir -p /opt/adguardhome/data/adguardhome/conf/
cd /opt/adguardhome/
Nun legen wir unser Configfile mit folgendem Inhalt an:
.env
# Config File for AdguardHome Application
# Exposed Port Configuration
DASHBOARDPORT=3000
HTTPPORT=80
# Timezone
TZ=Europe/Berlin
und nun noch das docker-compose.yml
:
/opt/adguardhome/docker-compose.yml
version: "3.7"
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
restart: always
ports:
# DNS Ports
- "53:53/tcp"
- "53:53/udp"
# DNS over HTTPs
#- "443:443/tcp"
# DNS over TLS
#- "853:853/tcp"
# DNS over QUIC
#- "784:784/udp"
# DNS Crypt
#- "5443:5443/tcp"
#- "5443:5443/udp"
# DHCP Ports
#- "67:67/udp"
#- "68:68/tcp"
#- "68:68/udp"
# Dashboard
- "${DASHBOARDPORT}:3000/tcp"
- "${HTTPPORT}:80/tcp"
environment:
TZ: ${TZ}
volumes:
- data_adguardhome:/opt/adguardhome/work
- ./data/adguardhome/conf:/opt/adguardhome/conf
labels:
- "com.centurylinklabs.watchtower.enable=true"
networks:
- app-nw
volumes:
data_adguardhome:
networks:
app-nw:
internal: false
driver: bridge
driver_opts:
com.docker.network.bridge.name: br-adguard
Nun können wir den AdGuard Home starten:
docker-compose up -d
Konfiguration
Nachdem Starten des Containers greifen wir nun auf das Dashboard zu:
- http://yourservername:3000
Es begrüßt uns hier nun ein Setup Assistent. Einfach den Anweisungen folgen.
Nachdem AdGuard Home nun grundkonfiguriert ist, müsst ihr diesen via Router DHCP Konfiguration oder manueller Client Konfiguration als DNS Server eintragen.
Local DNS
Möchte man die Lokale DNS Auflösung ebenfalls aktivieren, damit interne Clients auch aufgelöst werden, muss man die den DNS und rDNS für das lokale Netzwerk einrichten. Dies geschieht einfach mittels Regel bei den Upstream DNS Servern. Hier einfach eure Lokale Einstellung einfügen.
Upstream DNS Server Konfiguration:
[/domain.loc/]192.168.0.1 [/0.168.192.in-addr.arpa/]192.168.0.1
Hier werden nun alle Abfragen an die Domain domain.loc
und die reverse DNS Abfragen für 192.168.0
an den Nameserver 192.168.0.1
gesendet.
Dies sorgt ebenfalls dazu, das im Dashboard die Clients nach einiger Zeit auch als Name angezeigt werden.
Test
Will man sehen was alles durch adguard geblockt wird, kann man dies über die folgende Seite machen:
Backup
Ein Backup kann entweder händisch oder aber Script gesteuert gemacht werden. Schaut einfach die folgenden Artikel durch:
- Docker Backup und Restore - eine kleine Anleitung
- Docker Compose Project Backup Script
- Docker Volume Backup Script
Update
Möchtet ihr dann später ein Update von AdGuard machen, dann könnt ihr dies entweder automatisch durch Watchtower erledigen lassen:
Oder ihr macht es manuell:
docker-compose pull
docker-compose up -d