template.yaml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. kind: compose
  3. schema: "1.2"
  4. metadata:
  5. name: BIND9
  6. description: >
  7. BIND9 is the most widely used DNS server on the Internet.
  8. This template provides an authoritative and recursive DNS server with example zones,
  9. TSIG authentication for secure zone transfers, and DNSSEC support.
  10. Project: https://www.isc.org/bind/
  11. Documentation: https://bind9.readthedocs.io/
  12. version: 9.20-24.10_edge
  13. author: Christian Lempa
  14. date: '2025-10-02'
  15. tags: []
  16. next_steps: |
  17. 1. Start the DNS server:
  18. docker compose up -d
  19. 2. View the auto-generated TSIG key:
  20. cat config/tsig.key
  21. 3. Test DNS queries:
  22. dig @localhost home.arpa
  23. 4. Customize your zone:
  24. - Edit config/named.conf.zones to add more zones
  25. - Add zone files to /var/lib/bind/ volume
  26. - Update config/named.conf to adjust forwarders and ACLs
  27. 5. Reload configuration after changes:
  28. docker exec bind9 rndc reload
  29. 6. Check BIND9 configuration syntax:
  30. docker exec bind9 named-checkconf /etc/bind/named.conf
  31. docker exec bind9 named-checkzone home.arpa /var/lib/bind/db.home.arpa
  32. For more information, visit: https://bind9.readthedocs.io/
  33. spec:
  34. general:
  35. vars:
  36. service_name:
  37. default: bind9
  38. container_name:
  39. default: bind9
  40. container_hostname:
  41. default: ns1
  42. bind9_version:
  43. type: str
  44. description: BIND9 Docker image tag
  45. default: "9.20-24.10_edge"
  46. domain_name:
  47. type: str
  48. description: "Primary domain name for your zone (e.g., home.arpa)"
  49. default: "home.arpa"
  50. tsig_key_name:
  51. type: str
  52. description: "TSIG key name for secure zone transfers"
  53. default: "transfer-key"
  54. tsig_key_secret:
  55. type: str
  56. description: "TSIG key secret (base64, auto-generated if empty)"
  57. default: ""
  58. sensitive: true
  59. autogenerated: true