--- version: '3.9' services: {% if deploy_adguard_virtual_ip['enable'] %} keepalived: image: ghcr.io/rmartin16/keepalived:latest network_mode: host environment: INTERFACE: {{ deploy_adguard_virtual_ip['interface'] }} VIRTUAL_IPS: {{ deploy_adguard_virtual_ip['vip_addr'] }} STATE: "BACKUP" cap_add: - NET_ADMIN {% endif %} adguard: image: adguard/adguardhome:latest ports: - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}53:53/tcp" - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}53:53/udp" {% if deploy_adguard_enable_admin_interface %} - "{% if deploy_adguard_consul['enable'] %}127.0.0.1:{% endif %}80:80/tcp" - "{% if deploy_adguard_consul['enable'] %}127.0.0.1:{% endif %}443:443/tcp" - "3000:3000/tcp" {% endif %} {% if deploy_adguard_enable_dhcp %} - "67:67/udp" - "68:68/tcp" - "68:68/udp" {% endif %} {% if deploy_adguard_enable_doh %} - "{% if deploy_adguard_virtual_ip['enable'] %}{% endif %}443:443/udp" {% endif %} {% if deploy_adguard_enable_dot %} - "{% if deploy_adguard_virtual_ip['enable'] %}{% endif %}853:853/tcp" {% endif %} {% if deploy_adguard_enable_doq %} - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}784:784/udp" - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}8853:8853/udp" - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}853:853/udp" {% endif %} {% if deploy_adguard_enable_dnscrypt %} - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}5443:5443/tcp" - "{% if deploy_adguard_virtual_ip['enable'] %}{{ deploy_adguard_virtual_ip['vip_addr'] }}:{% endif %}5443:5443/udp" {% endif %} volumes: - conf:/opt/adguardhome/conf - data:/opt/adguardhome/work networks: - internal {% if deploy_adguard_node_exporter %} node_exporter: image: ebrianne/adguard-exporter:latest secrets: - adguard_passw environment: adguard_protocol: {{ deploy_adguard_node_exporter['protocol'] }} adguard_hostname: adguard adguard_username: {{ deploy_adguard_node_exporter['username'] }} adguard_password: /run/secrets/adguard_passw adguard_port: {{ deploy_adguard_node_exporter['port'] }} server_port: {{ deploy_adguard_node_exporter['exporter_port'] }} interval: {{ deploy_adguard_node_exporter['interval'] }} log_limit: {{ deploy_adguard_node_exporter['log_limit'] }} password_from_file: true ports: - "9617:9617" networks: - internal {% endif %} networks: internal: driver: bridge volumes: conf: driver_opts: o: bind device: {{ deploy_adguard_directory }}/conf type: none data: driver_opts: o: bind device: {{ deploy_adguard_directory }}/data type: none secrets: adguard_passw: file: {{ deploy_adguard_directory }}/password