| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- ---
- kind: compose
- schema: "1.1"
- metadata:
- name: Pihole
- description: >
- Network-wide advertisement and internet tracker blocking application that functions as a DNS sinkhole.
- Provides DNS-level content filtering for all network devices, improving browsing performance, privacy, and security.
- Supports custom blocklists, whitelists, and seamless integration with existing network infrastructure.
- Project: https://pi-hole.net/
- Documentation: https://docs.pi-hole.net/
- GitHub: https://github.com/pi-hole/pi-hole
- version: 2025.08.0
- author: Christian Lempa
- date: '2025-09-28'
- tags:
- - dns
- - ad-blocking
- draft: false
- next_steps: |
- 1. Start: docker compose up -d
- 2. Access web interface:
- {% if network_enabled and network_mode == 'macvlan' -%}
- http://{{ network_macvlan_ipv4_address }}
- {% elif traefik_enabled -%}
- {% if traefik_tls_enabled %}https{% else %}http{% endif %}://{{ traefik_host }}
- {%- elif ports_enabled -%}
- http://localhost:{{ ports_http }}
- {%- endif %}
- 3. Login password: {{ pihole_webpassword }}
- {% if network_enabled and network_mode == 'macvlan' -%}
- 4. Configure devices to use {{ network_macvlan_ipv4_address }} as DNS server
- {% if dhcp_enabled %}Configure DHCP in Settings > DHCP{% endif %}
- {%- elif ports_enabled and dns_enabled -%}
- 4. Configure devices to use Docker host IP as DNS server (port 53)
- {% if dhcp_enabled %}Configure DHCP in Settings > DHCP (port 67){% endif %}
- {%- endif %}
- spec:
- pihole:
- required: true
- vars:
- pihole_webpassword:
- description: "Web interface admin password"
- type: str
- sensitive: true
- default: ""
- autogenerated: true
- pihole_dns_upstreams:
- description: "Upstream DNS servers (semicolon separated)"
- type: str
- default: "1.1.1.1;1.0.0.1"
- dns_enabled:
- type: bool
- description: "Enable DNS server functionality"
- default: false
- dhcp_enabled:
- type: bool
- description: "Enable DHCP server functionality"
- default: false
- traefik:
- vars:
- traefik_host:
- default: "pihole.home.arpa"
- network:
- vars:
- network_enabled:
- default: true
- network_name:
- default: "pihole_network"
- ports:
- vars:
- ports_http:
- type: int
- default: 8080
- ports_https:
- type: int
- default: 8443
|