AdGuard Home — свой DNS с фильтрами рекламы и трекеров для домашней сети. Веб-панель отдаём через Traefik (HTTPS), DNS — напрямую на портах 53/tcp и 53/udp хоста.
mkdir -p ~/adguard/{work,conf}
cd ~/adguard
docker-compose.ymlВеб-интерфейс — adguard.yourdomain. DNS слушает на хосте:
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
restart: unless-stopped
volumes:
- ./work:/opt/adguardhome/work
- ./conf:/opt/adguardhome/conf
ports:
- "53:53/tcp"
- "53:53/udp"
labels:
- traefik.enable=true
- traefik.http.middlewares.adguard_https.redirectscheme.scheme=https
- traefik.http.routers.adguard.entrypoints=web
- traefik.http.routers.adguard.middlewares=adguard_https@docker
- traefik.http.routers.adguard.rule=Host(`adguard.yourdomain`)
- traefik.http.routers.adguard_https.entrypoints=websecure
- traefik.http.routers.adguard_https.rule=Host(`adguard.yourdomain`)
- traefik.http.routers.adguard_https.tls=true
- traefik.http.routers.adguard_https.tls.certresolver=le
- traefik.http.services.adguard.loadbalancer.server.port=3000
networks:
- traefik_network
networks:
traefik_network:
external: true
Если на хосте уже занят порт 53 (systemd-resolved), остановите/перенастройте локальный stub-резолвер или используйте другой IP/порт и пропишите его на роутере.
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload
docker compose up -d
https://adguard.yourdomain (мастер установки)../conf хранит настройки; ./work — рабочие данные. Оба нужны в бэкапе.Итог: DNS для дома и защищённая HTTPS-панель управления.