docker-compose.yaml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. version: '3.7'
  2. services:
  3. cloudflared:
  4. image: visibilityspots/cloudflared
  5. container_name: cloudflared
  6. ports:
  7. - "5054:5054/tcp"
  8. - "5054:5054/udp"
  9. environment:
  10. - TZ=${TIMEZONE}
  11. - PORT=5054
  12. - ADDRESS=0.0.0.0
  13. restart: always
  14. networks:
  15. dns-net:
  16. ipv4_address: 172.20.0.2
  17. pihole:
  18. container_name: pihole
  19. image: pihole/pihole:latest
  20. ports:
  21. - "53:53/tcp"
  22. - "53:53/udp"
  23. - "67:67/udp"
  24. - "8080:80/tcp"
  25. - "8443:443/tcp"
  26. environment:
  27. - TZ=${TIMEZONE}
  28. - PIHOLE_DNS_=172.20.0.2#5054;1.1.1.1 # referencing by name results in "Invalid IP detected in PIHOLE_DNS_: cloudflared#5054"
  29. - WEBPASSWORD=${PIHOLE_PW}
  30. - REV_SERVER=true
  31. - REV_SERVER_TARGET=${PIHOLE_ROUTER_IP}
  32. - REV_SERVER_DOMAIN=${PIHOLE_NETWORK_DOMAIN}
  33. - REV_SERVER_CIDR=${PIHOLE_REVERSE_DNS}
  34. - ServerIP=${PIHOLE_HOST_IP}
  35. - ServerIPv6=${PIHOLE_HOST_IPV6}
  36. #dns:
  37. #- 127.0.0.1 # "Sets your container's resolve settings to localhost so it can resolve DHCP hostnames [...]" - github.com/pi-hole/docker-pi-hole
  38. #- 1.1.1.1 # Backup server
  39. volumes: # store your data between container upgrades
  40. - "/etc/pihole/:/etc/pihole/"
  41. - "/etc/dnsmasq.d/:/etc/dnsmasq.d/"
  42. cap_add:
  43. - NET_ADMIN # Recommended but not required (DHCP needs NET_ADMIN) https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
  44. depends_on:
  45. - "cloudflared"
  46. restart: always
  47. networks:
  48. - dns-net
  49. networks:
  50. dns-net:
  51. ipam:
  52. config:
  53. - subnet: 172.20.0.0/24