x-arcane:
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/adguard-home.svg
urls:
- https://adguard.com/adguard-home.html
- https://github.com/AdguardTeam/AdGuardHome
services:
adguard-home:
image: adguard/adguardhome:latest
container_name: adguard-home
restart: unless-stopped
ports:
- "${DNS_PORT:-53}:53/tcp"
- "${DNS_PORT:-53}:53/udp"
- "${SETUP_PORT:-3000}:3000/tcp"
- "${WEB_PORT:-8082}:80/tcp"
- "${DOT_PORT:-853}:853/tcp"
- "${DOH_PORT:-8443}:443/tcp"
- "${DOH_PORT:-8443}:443/udp"
volumes:
- ${BASE_PATH}/work:/opt/adguardhome/work
- ${BASE_PATH}/conf:/opt/adguardhome/conf
labels:
com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/adguard-home.svg
BASE_PATH=/data/compose/adguard-home
DNS_PORT=53
SETUP_PORT=3000
WEB_PORT=8082
DOT_PORT=853
DOH_PORT=8443
README
AdGuard Home needs to bind DNS ports on the host. If another DNS service such as Pi-hole or systemd-resolved is already using port 53, change DNS_PORT or stop the conflicting service before starting this stack.
The setup wizard is exposed on SETUP_PORT. After the first run, the normal web UI is available through WEB_PORT.