template.yaml 1.9 KB

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