version: '2' services: pihole: container_name: pihole hostname: pihole image: pihole/pihole volumes: - pihole_dnsmasq:/etc/dnsmasq.d - pihole_data:/etc/pihole restart: always environment: - IPv6=True - TZ=Europe/Berlin - SKIPGRAVITYONBOOT=1 - VIRTUAL_HOST=pihole.franz.local ports: - "53:53/tcp" - "53:53/udp" cap_add: - NET_ADMIN networks: traefik_net: dns_net: ipv4_address: 172.28.1.6 labels: - traefik.enable=true - traefik.http.routers.pihole.entrypoints=web - traefik.http.routers.pihole.rule=Host(`pihole.franz.local`) - traefik.http.services.pihole.loadbalancer.server.port=80 - traefik.docker.network=traefik-net unbound: container_name: unbound image: klutchell/unbound:edge volumes: - unbound_data:/opt/unbound/etc/unbound dns: - 1.1.1.1 restart: always networks: traefik_net: dns_net: ipv4_address: 172.28.1.5 networks: traefik_net: name: traefik-net external: true dns_net: name: dns-net driver: bridge ipam: config: - subnet: 172.28.1.0/24 ip_range: 172.28.1.5/30 gateway: 172.28.1.1 volumes: pihole_dnsmasq: name: pihole_dnsmasq pihole_data: name: pihole_data unbound_data: name: unbound_data