|
|
@@ -4,7 +4,7 @@ schema: "1.1"
|
|
|
metadata:
|
|
|
name: Pihole
|
|
|
description: >
|
|
|
- Network-wide advertisement and internet tracker blocking application that functions as a DNS sinkhole.
|
|
|
+ Network-wide advertisement and internet tracker blocking application that functions as a DNS blackhole.
|
|
|
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.
|
|
|
|
|
|
@@ -25,24 +25,13 @@ metadata:
|
|
|
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 }}/admin/login
|
|
|
- {%- endif %}
|
|
|
+ {% if network_mode == 'macvlan' -%}https://{{ network_macvlan_ipv4_address }}/admin/login
|
|
|
+ {%- elif traefik_enabled == True -%}https://{{ traefik_host }}/admin/login
|
|
|
+ {%- else -%}https://localhost:{{ ports_https }}/admin/login{%- endif %}
|
|
|
|
|
|
- 3. Login password: {{ pihole_webpassword }}
|
|
|
- (stored in .env.pihole file)
|
|
|
+ 3. Login password: {{ 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 %}
|
|
|
+ 4. Configure devices to use your host's IP address as DNS server
|
|
|
spec:
|
|
|
general:
|
|
|
vars:
|
|
|
@@ -50,30 +39,16 @@ spec:
|
|
|
default: "pihole"
|
|
|
container_name:
|
|
|
default: "pihole"
|
|
|
- pihole:
|
|
|
+ admin_settings:
|
|
|
+ description: "Admin Pi-hole Settings"
|
|
|
required: true
|
|
|
vars:
|
|
|
- pihole_webpassword:
|
|
|
+ webpassword:
|
|
|
description: "Web interface admin password"
|
|
|
type: str
|
|
|
sensitive: true
|
|
|
default: ""
|
|
|
autogenerated: true
|
|
|
- pihole_dns_upstreams:
|
|
|
- description: "Upstream DNS servers"
|
|
|
- type: str
|
|
|
- default: "1.1.1.1;1.0.0.1"
|
|
|
- extra: "Separate multiple DNS servers with semicolons (;)"
|
|
|
- dns_enabled:
|
|
|
- type: bool
|
|
|
- description: "Enable DNS server functionality"
|
|
|
- default: true
|
|
|
- extra: "Exposes port 53 for DNS queries in bridge network mode"
|
|
|
- dhcp_enabled:
|
|
|
- type: bool
|
|
|
- needs: "network_mode=host,macvlan"
|
|
|
- description: "Enable DHCP server functionality (requires host or macvlan network mode)"
|
|
|
- default: true
|
|
|
traefik:
|
|
|
vars:
|
|
|
traefik_host:
|
|
|
@@ -81,6 +56,8 @@ spec:
|
|
|
network:
|
|
|
required: true
|
|
|
vars:
|
|
|
+ network_mode:
|
|
|
+ extra: "If you need DHCP functionality, use 'host' or 'macvlan' mode"
|
|
|
network_name:
|
|
|
default: "pihole_network"
|
|
|
network_external:
|
|
|
@@ -89,7 +66,15 @@ spec:
|
|
|
needs: "network_mode=bridge"
|
|
|
vars:
|
|
|
ports_https:
|
|
|
- description: "HTTPS port for web interface"
|
|
|
+ description: "External HTTPS port"
|
|
|
type: int
|
|
|
default: 8443
|
|
|
extra: "Only used if Traefik is not enabled"
|
|
|
+ ports_dns:
|
|
|
+ description: "External DNS port"
|
|
|
+ type: int
|
|
|
+ default: 53
|
|
|
+ ports_ntp:
|
|
|
+ description: "External NTP port"
|
|
|
+ type: int
|
|
|
+ default: 123
|