compose.yaml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. ---
  2. name: "Pi-hole"
  3. description: "An open-source DNS sinkhole"
  4. version: "0.0.1"
  5. date: "2023-10-01"
  6. author: "Christian Lempa"
  7. tags:
  8. - pihole
  9. - dns
  10. - ad-blocker
  11. ---
  12. services:
  13. pihole:
  14. container_name: pihole
  15. image: docker.io/pihole/pihole:2025.08.0
  16. ports:
  17. - 53:53/tcp
  18. - 53:53/udp
  19. - 67:67/udp
  20. - 8081:80/tcp
  21. - 8443:443/tcp
  22. environment:
  23. - TZ=Europe/Berlin
  24. - FTLCONF_webserver_api_password=${FTLCONF_webserver_api_password}
  25. - FTLCONF_dns_upstreams=${FTLCONF_dns_upstreams:-8.8.8.8;8.8.4.4}
  26. volumes:
  27. - config_dnsmasq:/etc/dnsmasq.d
  28. - config_pihole:/etc/pihole
  29. networks:
  30. - frontend
  31. labels:
  32. - traefik.enable=true
  33. # Pihole Web Interface
  34. - traefik.http.routers.pihole.rule=Host(`example.com`)
  35. - traefik.http.routers.pihole.entrypoints=websecure
  36. - traefik.http.routers.pihole.tls=true
  37. - traefik.http.routers.pihole.tls.certresolver=cloudflare
  38. - traefik.http.routers.pihole.service=pihole
  39. - traefik.http.services.pihole.loadBalancer.server.port=80
  40. restart: unless-stopped
  41. volumes:
  42. config_dnsmasq:
  43. driver: local
  44. config_pihole:
  45. driver: local
  46. networks:
  47. frontend:
  48. external: true