| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- ---
- kind: compose
- metadata:
- name: AdGuard Home
- description: 'Network-wide software for blocking ads and tracking. AdGuard Home operates as a DNS server that
- re-routes tracking domains to a "black hole", thus preventing your devices from connecting to those servers.
- It features advanced DNS filtering, parental controls, safe browsing, and HTTPS/DNS-over-TLS/DNS-over-QUIC support.
- ## Prerequisites
- - :info: During the initial setup, AdGuard Home runs an HTTP server on port 3000 to guide you through configuration.
- **With Traefik enabled:** Access initial setup via container IP at `http://<container-ip>:3000`.
- After setup completes, access the admin interface via the configured domain.
- - :warning: **Security Notice:** The initial setup on port 3000 uses an unencrypted HTTP connection.
- Only use this for initial configuration and disable it (`initial_setup=false`) after setup is complete.
- - :warning: If you require DHCP functionality or want AdGuard Home to bind directly to port 53,
- you must set `network_mode` to `host` or `macvlan`. Note this exposes all container ports directly on the host.
- You can''t use `traefik_enabled` in this case!
- ## References
- - **Project:** https://adguard.com/adguard-home/overview.html
- - **Documentation:** https://github.com/AdguardTeam/AdGuardHome/wiki
- - **GitHub:** https://github.com/AdguardTeam/AdGuardHome'
- icon:
- provider: selfh
- id: adguard-home
- version: v0.107.71
- author: Christian Lempa
- date: '2025-12-11'
- tags:
- - traefik
- - network
- - volume
- next_steps: null
- schema: '1.2'
- spec:
- general:
- vars:
- service_name:
- default: adguardhome
- restart_policy:
- type: enum
- options:
- - unless-stopped
- - always
- - on-failure
- - 'no'
- default: unless-stopped
- required: true
- initial_setup:
- description: Enable initial setup wizard on port 3000 (only used without Traefik)
- type: bool
- default: true
- extra: 'Port 3000 is only used during the initial setup wizard when Traefik is disabled. With Traefik enabled, access
- setup via container IP instead. After completing setup, AdGuard Home switches to port 80 and port 3000 becomes inactive.
- '
- network:
- vars:
- network_mode:
- extra: 'Use ''host'' mode if you need DHCP functionality or want AdGuard Home to bind directly to port 53.
- '
- network_name:
- default: adguardhome_network
- network_macvlan_ipv4_address:
- type: str
- default: 192.168.1.253
- needs:
- - network_mode=macvlan
- required: true
- network_macvlan_parent_interface:
- type: str
- default: eth0
- needs:
- - network_mode=macvlan
- required: true
- network_macvlan_subnet:
- type: str
- default: 192.168.1.0/24
- needs:
- - network_mode=macvlan
- required: true
- network_macvlan_gateway:
- type: str
- default: 192.168.1.1
- needs:
- - network_mode=macvlan
- required: true
- network_external:
- type: bool
- default: false
- description: Whether the network is external
- ports:
- vars:
- ports_http:
- default: 80
- ports_https:
- default: 443
- ports_dns:
- type: int
- default: 53
- required: true
- ports_initial:
- description: Initial setup wizard port (only when Traefik is disabled)
- type: int
- default: 3000
- needs:
- - traefik_enabled=false
- - initial_setup=true
- extra: 'Only used during first-time setup without Traefik. After configuration, port becomes inactive. With Traefik,
- access setup via container IP instead.
- '
- ports_tls:
- description: DNS over TLS Port
- type: int
- default: 853
- required: true
- ports_dnscrypt:
- description: DNSCrypt Port
- type: int
- default: 5443
- required: true
- traefik:
- vars:
- traefik_host:
- default: adguardhome
- traefik_network:
- default: traefik
- type: str
- required: true
- traefik_domain:
- default: home.arpa
- type: str
- required: true
- traefik_enabled:
- type: bool
- default: false
- description: Enable Traefik integration
- traefik_tls:
- vars:
- traefik_tls_certresolver:
- type: str
- default: cloudflare
- required: true
- traefik_tls_enabled:
- type: bool
- default: false
- description: Enable Traefik TLS
- volume:
- vars:
- volume_mode:
- type: enum
- options:
- - local
- - mount
- - nfs
- default: local
- required: true
- volume_mount_path:
- type: str
- default: /mnt/storage
- needs:
- - volume_mode=mount
- required: true
- volume_nfs_server:
- type: str
- default: 192.168.1.1
- needs:
- - volume_mode=nfs
- required: true
- volume_nfs_path:
- type: str
- default: /export
- needs:
- - volume_mode=nfs
- required: true
- volume_nfs_options:
- type: str
- default: rw,nolock,soft
- needs:
- - volume_mode=nfs
- required: true
|