AdGuard Home w Dockerze na OpenMediaVault
AdGuard Home to serwer DNS, który blokuje reklamy i trackery dla całej sieci — bez instalowania czegokolwiek na telefonach i telewizorach. Jeśli masz już NAS na OpenMediaVault (OMV) z wtyczką omv-compose (lub Portainer), postawienie go zajmuje kilkanaście minut. Poniżej kompletny compose i konfiguracja, w tym szyfrowany upstream, żeby nawet Twój operator nie widział, o co pytasz.
openmediavault-compose). Wolny port 53 na hoście — jeśli działa systemowy systemd-resolved, trzeba go zwolnić (patrz sekcja o błędach).
Krok 1: docker-compose
W OMV → Services → Compose → Files dodaj nowy stack. Mapujemy port 53 (DNS) oraz osobny port panelu (tu 8080, żeby nie kolidował z innymi usługami):
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "8080:80/tcp" # panel (pierwsza konfiguracja: 3000)
- "443:443/tcp" # opcjonalnie: DoH dla klientów
volumes:
- /srv/dev-disk-by-.../appdata/adguard/work:/opt/adguardhome/work
- /srv/dev-disk-by-.../appdata/adguard/conf:/opt/adguardhome/conf
Podmień ścieżki /srv/dev-disk-by-.../appdata/adguard/... na realny mountpoint swojego dysku danych w OMV. Trzymanie work i conf na dysku (a nie w kontenerze) sprawia, że konfiguracja i statystyki przeżyją aktualizację obrazu.
Krok 2: pierwsze uruchomienie i kreator
Po Up wejdź na http://IP_SERWERA:3000 — przy pierwszym starcie AdGuard nasłuchuje kreatora na porcie 3000. Ustaw:
- Interfejs web — port
80w kontenerze (na zewnątrz 8080, jak w compose). - Interfejs DNS —
0.0.0.0:53. - Załóż konto administratora (login + mocne hasło).
Po zakończeniu panel przenosi się na http://IP_SERWERA:8080.
Krok 3: szyfrowany upstream (DNS-over-TLS)
Domyślnie AdGuard pyta zwykłym DNS-em. Warto przełączyć upstream na DoT/DoH, żeby zapytania w górę były szyfrowane. W Ustawienia → Ustawienia DNS → Serwery DNS nadrzędne wpisz np.:
# Cloudflare (zwykły)
tls://1.1.1.1
tls://1.0.0.1
# lub Cloudflare Family (blokuje malware + treści dla dorosłych)
tls://family.cloudflare-dns.com
Tryb zapytań ustaw na „równoległe" lub „load balancing". Kliknij Testuj serwery nadrzędne — muszą odpowiedzieć zielono.
ghcr.io przy aktualizacjach Home Assistanta czy kontenerów). Jeśli coś przestaje się aktualizować, sprawdź, czy to nie upstream — i albo zrób wyjątek w AdGuardzie, albo wyłącz filtrujący resolver dla danego hosta.
Krok 4: listy blokujące i wpięcie w sieć
W Filtry → Listy blokujące DNS włącz podstawowe (AdGuard DNS filter, AdAway, EasyList). Nie przesadzaj z liczbą list — 3–4 dobre wystarczą; zbyt agresywne psują strony.
Na koniec skieruj sieć na AdGuarda: w DHCP routera ustaw serwer DNS na IP tego serwera. Żeby urządzenia nie omijały go własnym DNS-em, warto dołożyć regułę force-DNS — opisaliśmy to w osobnym poradniku: wymuszenie DNS przez AdGuard na MikroTiku.
Najczęstsze błędy
- Kontener nie startuje, port 53 zajęty — na hoście działa
systemd-resolved. Wyłącz jego nasłuch na 53: w/etc/systemd/resolved.confustawDNSStubListener=no, potemsystemctl restart systemd-resolved. - Panel działa, ale blokowanie nie — urządzenia nadal używają starego DNS. Odnów dzierżawę DHCP albo zrestartuj urządzenie; sprawdź, czy naprawdę pytają serwer (statystyki zapytań w panelu).
- Po aktualizacji zniknęła konfiguracja — nie zamapowałeś
/opt/adguardhome/confna trwały wolumen. Wróć do compose z sekcji 1.
Mini-PC albo Raspberry Pi pod NAS/OMV
AdGuard jest lekki — spokojnie pociągnie go Raspberry Pi 5 albo tani mini-PC (N100). Jeśli dokładasz do tego NAS, backup i inne kontenery, mini-PC z 16 GB RAM to wygodny start.
Zobacz mini-PC i Raspberry Pi ›Podsumowanie
- Compose z trwałymi wolumenami
workiconf= konfiguracja przeżywa aktualizacje. - Upstream na DoT (
tls://1.1.1.1) szyfruje zapytania w górę. - Uważaj na filtrujące resolvery — potrafią zablokować aktualizacje innych usług.
- Domknij temat force-DNS-em na routerze, żeby nikt nie omijał blokera.