docker-compose.yaml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. {% set tpl = ix_lib.base.render.Render(values) %}
  2. {% set c1 = tpl.add_container(values.consts.adguard_container_name, "image") %}
  3. {% do c1.healthcheck.set_test("wget", {
  4. "port": values.adguard.https_port_to_probe if values.adguard.use_https_probe else values.network.web_port.port_number,
  5. "scheme": "https" if values.adguard.use_https_probe else "http",
  6. "path": "/",
  7. }) %}
  8. {% do c1.environment.add_user_envs(values.adguard.additional_envs) %}
  9. {% do c1.add_caps(["NET_BIND_SERVICE", "CHOWN", "FOWNER", "DAC_OVERRIDE"]) %}
  10. {% if values.network.dhcp_enabled %}
  11. {% do c1.add_caps(["NET_RAW"]) %}
  12. {% do c1.set_network_mode("host") %}
  13. {% endif %}
  14. {% do c1.set_command([
  15. "--no-check-update",
  16. "--web-addr",
  17. "0.0.0.0:%d"|format(values.network.web_port.port_number),
  18. "--config",
  19. "%s/AdGuardHome.yaml"|format(values.consts.config_path),
  20. "--work-dir",
  21. values.consts.work_path,
  22. ]) %}
  23. {% do c1.add_port(values.network.web_port) %}
  24. {% do c1.add_port(values.network.dns_port, {"container_port": 53}) %}
  25. {% do c1.add_port(values.network.dns_port, {"container_port": 53, "protocol": "udp"}) %}
  26. {% for port in values.network.additional_ports %}
  27. {% do c1.add_port(port) %}
  28. {% endfor %}
  29. {% do c1.add_storage(values.consts.config_path, values.storage.config) %}
  30. {% do c1.add_storage(values.consts.work_path, values.storage.work) %}
  31. {% for store in values.storage.additional_storage %}
  32. {% do c1.add_storage(store.mount_path, store) %}
  33. {% endfor %}
  34. {% do tpl.portals.add(values.network.web_port) %}
  35. {% do tpl.notes.set_body(values.consts.notes_body) %}
  36. {{ tpl.render() | tojson }}