template.yaml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. ---
  2. kind: compose
  3. metadata:
  4. icon:
  5. provider: selfh
  6. id: pi-hole
  7. name: Pihole
  8. description: |
  9. Network-wide advertisement and internet tracker blocking application that functions as a DNS blackhole.
  10. Provides DNS-level content filtering for all network devices, improving browsing performance, privacy, and security.
  11. Supports custom blocklists, whitelists, and seamless integration with existing network infrastructure.
  12. ## Prerequisites
  13. - :warning: Pi-hole uses local storage and configuration files and does NOT support running multiple replicas.
  14. This template enforces a single replica with node placement constraints to ensure stable DNS resolution.
  15. ## References
  16. - **Project:** https://pi-hole.net/
  17. - **Documentation:** https://docs.pi-hole.net/
  18. - **GitHub:** https://github.com/pi-hole/pi-hole
  19. version: 2025.11.1
  20. author: Christian Lempa
  21. date: '2025-12-11'
  22. tags:
  23. - traefik
  24. - swarm
  25. - network
  26. - volume
  27. spec:
  28. general:
  29. vars:
  30. service_name:
  31. default: pihole
  32. container_name:
  33. default: pihole
  34. admin_settings:
  35. description: "Admin Pi-hole Settings"
  36. required: true
  37. vars:
  38. webpassword:
  39. description: "Web interface admin password"
  40. type: secret
  41. config:
  42. autogenerated: true
  43. ports:
  44. vars:
  45. ports_http:
  46. description: HTTP port for Pi-hole
  47. type: int
  48. default: 80
  49. ports_https:
  50. description: HTTPS port for Pi-hole
  51. type: int
  52. default: 443
  53. ports_ntp:
  54. description: "External NTP port"
  55. type: int
  56. default: 123
  57. required: true
  58. traefik:
  59. vars:
  60. traefik_host:
  61. default: pihole
  62. network:
  63. vars:
  64. network_mode:
  65. extra: >
  66. If you need DHCP functionality, use 'host' or 'macvlan' mode.
  67. NOTE: Swarm only supports 'bridge' mode!"
  68. network_name:
  69. default: "pihole_network"
  70. swarm:
  71. vars:
  72. swarm_placement_host:
  73. required: true
  74. optional: false
  75. needs: null
  76. swarm_replicas:
  77. description: Number of replicas for Swarm mode
  78. type: int
  79. default: 1