compose.yaml 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ---
  2. services:
  3. pihole:
  4. container_name: pihole
  5. image: docker.io/pihole/pihole:2025.06.2
  6. ports:
  7. - 53:53/tcp
  8. - 53:53/udp
  9. - 67:67/udp
  10. - 8081:80/tcp
  11. - 8443:443/tcp
  12. environment:
  13. - TZ=Europe/Berlin
  14. - FTLCONF_webserver_api_password=${FTLCONF_webserver_api_password}
  15. - FTLCONF_dns_upstreams=${FTLCONF_dns_upstreams:-8.8.8.8;8.8.4.4}
  16. volumes:
  17. - config_dnsmasq:/etc/dnsmasq.d
  18. - config_pihole:/etc/pihole
  19. networks:
  20. - frontend
  21. labels:
  22. - traefik.enable=true
  23. # Pihole Web Interface
  24. - traefik.http.routers.pihole.rule=Host(`example.com`)
  25. - traefik.http.routers.pihole.entrypoints=websecure
  26. - traefik.http.routers.pihole.tls=true
  27. - traefik.http.routers.pihole.tls.certresolver=cloudflare
  28. - traefik.http.routers.pihole.service=pihole
  29. - traefik.http.services.pihole.loadBalancer.server.port=80
  30. restart: unless-stopped
  31. volumes:
  32. config_dnsmasq:
  33. driver: local
  34. config_pihole:
  35. driver: local
  36. networks:
  37. frontend:
  38. external: true