Запуск AdGuard Home с Docker Compose и Traefik

AdGuard Home — свой DNS с фильтрами рекламы и трекеров для домашней сети. Веб-панель отдаём через Traefik (HTTPS), DNS — напрямую на портах 53/tcp и 53/udp хоста.

1. Каталог

mkdir -p ~/adguard/{work,conf}
cd ~/adguard

2. 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/порт и пропишите его на роутере.

3. Firewall

firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload

4. Запуск и первичная настройка

docker compose up -d
  1. Откройте https://adguard.yourdomain (мастер установки).
  2. Задайте логин/пароль админа.
  3. На роутере или DHCP укажите DNS = IP сервера с AdGuard.

Замечания

  • Не открывайте порт 53 в интернет без необходимости — только в LAN.
  • Каталог ./conf хранит настройки; ./work — рабочие данные. Оба нужны в бэкапе.
  • После смены фильтров проверьте, что резолв с телефона/ПК идёт через AdGuard.

Итог: DNS для дома и защищённая HTTPS-панель управления.