|
|
@@ -1,26 +1,40 @@
|
|
|
---
|
|
|
-version: '3'
|
|
|
-
|
|
|
-volumes:
|
|
|
- dnsmasq:
|
|
|
- driver: local
|
|
|
- etcd:
|
|
|
- driver: local
|
|
|
-
|
|
|
services:
|
|
|
pihole:
|
|
|
container_name: pihole
|
|
|
- image: docker.io/pihole/pihole:2024.07.0
|
|
|
+ image: docker.io/pihole/pihole:2025.02.1
|
|
|
ports:
|
|
|
- 53:53/tcp
|
|
|
- 53:53/udp
|
|
|
- 67:67/udp
|
|
|
- - 80:80/tcp
|
|
|
- - 443:443/tcp
|
|
|
+ - 8081:80/tcp
|
|
|
+ - 8443:443/tcp
|
|
|
environment:
|
|
|
- TZ=Europe/Berlin
|
|
|
- - WEBPASSWORD=your-secret-password
|
|
|
+ - FTLCONF_webserver_api_password=${FTLCONF_webserver_api_password}
|
|
|
+ - FTLCONF_dns_upstreams=${FTLCONF_dns_upstreams:-8.8.8.8;8.8.4.4}
|
|
|
volumes:
|
|
|
- - dnsmasq:/etc/dnsmasq.d
|
|
|
- - etcd:/etc/pihole
|
|
|
+ - config_dnsmasq:/etc/dnsmasq.d
|
|
|
+ - config_pihole:/etc/pihole
|
|
|
+ networks:
|
|
|
+ - frontend
|
|
|
+ labels:
|
|
|
+ - traefik.enable=true
|
|
|
+ # Pihole Web Interface
|
|
|
+ - traefik.http.routers.pihole.rule=Host(`example.com`)
|
|
|
+ - traefik.http.routers.pihole.entrypoints=websecure
|
|
|
+ - traefik.http.routers.pihole.tls=true
|
|
|
+ - traefik.http.routers.pihole.tls.certresolver=cloudflare
|
|
|
+ - traefik.http.routers.pihole.service=pihole
|
|
|
+ - traefik.http.services.pihole.loadBalancer.server.port=80
|
|
|
restart: unless-stopped
|
|
|
+
|
|
|
+volumes:
|
|
|
+ config_dnsmasq:
|
|
|
+ driver: local
|
|
|
+ config_pihole:
|
|
|
+ driver: local
|
|
|
+
|
|
|
+networks:
|
|
|
+ frontend:
|
|
|
+ external: true
|