compose.yaml.j2 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. services:
  2. {{ service_name }}:
  3. image: docker.io/ubuntu/bind9:{{ bind9_version }}
  4. container_name: {{ container_name }}
  5. hostname: {{ container_hostname }}
  6. environment:
  7. - TZ={{ container_timezone }}
  8. - BIND9_USER=bind
  9. {% if network_mode == 'host' %}
  10. network_mode: host
  11. {% else %}
  12. networks:
  13. {% if network_mode == 'macvlan' %}
  14. {{ network_name }}:
  15. ipv4_address: {{ network_macvlan_ipv4_address }}
  16. {% elif network_mode == 'bridge' %}
  17. {{ network_name }}:
  18. {% endif %}
  19. {% endif %}
  20. {% if network_mode != 'host' %}
  21. ports:
  22. - "53:53/tcp"
  23. - "53:53/udp"
  24. {% endif %}
  25. volumes:
  26. - ./config:/etc/bind
  27. - bind9_zones:/var/lib/bind
  28. - bind9_cache:/var/cache/bind
  29. restart: {{ restart_policy }}
  30. volumes:
  31. bind9_zones:
  32. driver: local
  33. bind9_cache:
  34. driver: local
  35. {% if network_mode != 'host' %}
  36. networks:
  37. {{ network_name }}:
  38. {% if network_external %}
  39. external: true
  40. {% else %}
  41. {% if network_mode == 'macvlan' %}
  42. driver: macvlan
  43. driver_opts:
  44. parent: {{ network_macvlan_parent_interface }}
  45. ipam:
  46. config:
  47. - subnet: {{ network_macvlan_subnet }}
  48. gateway: {{ network_macvlan_gateway }}
  49. {% else %}
  50. driver: bridge
  51. {% endif %}
  52. {% endif %}
  53. name: {{ network_name }}
  54. {% endif %}