template.yaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. ---
  2. kind: compose
  3. metadata:
  4. name: AdGuard Home
  5. description: 'Network-wide software for blocking ads and tracking. AdGuard Home operates as a DNS server that
  6. re-routes tracking domains to a "black hole", thus preventing your devices from connecting to those servers.
  7. It features advanced DNS filtering, parental controls, safe browsing, and HTTPS/DNS-over-TLS/DNS-over-QUIC support.
  8. ## Prerequisites
  9. - :info: During the initial setup, AdGuard Home runs an HTTP server on port 3000 to guide you through configuration.
  10. **With Traefik enabled:** Access initial setup via container IP at `http://<container-ip>:3000`.
  11. After setup completes, access the admin interface via the configured domain.
  12. - :warning: **Security Notice:** The initial setup on port 3000 uses an unencrypted HTTP connection.
  13. Only use this for initial configuration and disable it (`initial_setup=false`) after setup is complete.
  14. - :warning: If you require DHCP functionality or want AdGuard Home to bind directly to port 53,
  15. you must set `network_mode` to `host` or `macvlan`. Note this exposes all container ports directly on the host.
  16. You can''t use `traefik_enabled` in this case!
  17. ## References
  18. - **Project:** https://adguard.com/adguard-home/overview.html
  19. - **Documentation:** https://github.com/AdguardTeam/AdGuardHome/wiki
  20. - **GitHub:** https://github.com/AdguardTeam/AdGuardHome'
  21. icon:
  22. provider: selfh
  23. id: adguard-home
  24. version: v0.107.71
  25. author: Christian Lempa
  26. date: '2025-12-11'
  27. tags:
  28. - traefik
  29. - network
  30. - volume
  31. next_steps: null
  32. schema: '1.2'
  33. spec:
  34. general:
  35. vars:
  36. service_name:
  37. default: adguardhome
  38. restart_policy:
  39. type: enum
  40. options:
  41. - unless-stopped
  42. - always
  43. - on-failure
  44. - 'no'
  45. default: unless-stopped
  46. required: true
  47. initial_setup:
  48. description: Enable initial setup wizard on port 3000 (only used without Traefik)
  49. type: bool
  50. default: true
  51. extra: 'Port 3000 is only used during the initial setup wizard when Traefik is disabled. With Traefik enabled, access
  52. setup via container IP instead. After completing setup, AdGuard Home switches to port 80 and port 3000 becomes inactive.
  53. '
  54. network:
  55. vars:
  56. network_mode:
  57. extra: 'Use ''host'' mode if you need DHCP functionality or want AdGuard Home to bind directly to port 53.
  58. '
  59. network_name:
  60. default: adguardhome_network
  61. network_macvlan_ipv4_address:
  62. type: str
  63. default: 192.168.1.253
  64. needs:
  65. - network_mode=macvlan
  66. required: true
  67. network_macvlan_parent_interface:
  68. type: str
  69. default: eth0
  70. needs:
  71. - network_mode=macvlan
  72. required: true
  73. network_macvlan_subnet:
  74. type: str
  75. default: 192.168.1.0/24
  76. needs:
  77. - network_mode=macvlan
  78. required: true
  79. network_macvlan_gateway:
  80. type: str
  81. default: 192.168.1.1
  82. needs:
  83. - network_mode=macvlan
  84. required: true
  85. network_external:
  86. type: bool
  87. default: false
  88. description: Whether the network is external
  89. ports:
  90. vars:
  91. ports_http:
  92. default: 80
  93. ports_https:
  94. default: 443
  95. ports_dns:
  96. type: int
  97. default: 53
  98. required: true
  99. ports_initial:
  100. description: Initial setup wizard port (only when Traefik is disabled)
  101. type: int
  102. default: 3000
  103. needs:
  104. - traefik_enabled=false
  105. - initial_setup=true
  106. extra: 'Only used during first-time setup without Traefik. After configuration, port becomes inactive. With Traefik,
  107. access setup via container IP instead.
  108. '
  109. ports_tls:
  110. description: DNS over TLS Port
  111. type: int
  112. default: 853
  113. required: true
  114. ports_dnscrypt:
  115. description: DNSCrypt Port
  116. type: int
  117. default: 5443
  118. required: true
  119. traefik:
  120. vars:
  121. traefik_host:
  122. default: adguardhome
  123. traefik_network:
  124. default: traefik
  125. type: str
  126. required: true
  127. traefik_domain:
  128. default: home.arpa
  129. type: str
  130. required: true
  131. traefik_enabled:
  132. type: bool
  133. default: false
  134. description: Enable Traefik integration
  135. traefik_tls:
  136. vars:
  137. traefik_tls_certresolver:
  138. type: str
  139. default: cloudflare
  140. required: true
  141. traefik_tls_enabled:
  142. type: bool
  143. default: false
  144. description: Enable Traefik TLS
  145. volume:
  146. vars:
  147. volume_mode:
  148. type: enum
  149. options:
  150. - local
  151. - mount
  152. - nfs
  153. default: local
  154. required: true
  155. volume_mount_path:
  156. type: str
  157. default: /mnt/storage
  158. needs:
  159. - volume_mode=mount
  160. required: true
  161. volume_nfs_server:
  162. type: str
  163. default: 192.168.1.1
  164. needs:
  165. - volume_mode=nfs
  166. required: true
  167. volume_nfs_path:
  168. type: str
  169. default: /export
  170. needs:
  171. - volume_mode=nfs
  172. required: true
  173. volume_nfs_options:
  174. type: str
  175. default: rw,nolock,soft
  176. needs:
  177. - volume_mode=nfs
  178. required: true