version: "3.9" volumes: pihole: name: pihole dnsmasq: name: dnsmasq # smokeping: # name: smokeping # smokeping-config: # name: smokeping-config # netdataconfig: # name: netdataconfig # netdatalib: # name: netdatalib # netdatacache: # name: netdatacache networks: proxy: external: true internal: external: true services: # check `nslookup google.de` for example and adjust /etc/resolv.conf nameserver to 127.0.0.1 pihole: image: pihole/pihole cap_add: - NET_ADMIN container_name: pihole environment: TZ: "Europe/Berlin" WEBPASSWORD: "lmaa,dw." networks: - proxy restart: unless-stopped volumes: - pihole:/etc/pihole/ - dnsmasq:/etc/dnsmasq.d/ labels: - "traefik.enable=true" - "traefik.http.routers.pihole.entrypoints=web" - "traefik.http.routers.pihole.rule=Host(`pihole.localhost`) || Host(`pihole.local`)" - "traefik.http.services.pihole.loadbalancer.server.port=80" # Normal DNS coming in on 53 TCP, no TLS - "traefik.tcp.routers.dns.rule=HostSNI(`pihole.localhost`)" - "traefik.tcp.routers.dns.entrypoints=dns" - "traefik.tcp.routers.dns.service=pihole" # recieves traffic from both the TLS and non-TLS traefik routers - "traefik.tcp.services.pihole.loadbalancer.server.port=53" # Normal DNS coming in on 53 UDP - "traefik.udp.routers.dns-udp.entrypoints=dns-udp" - "traefik.udp.routers.dns-udp.service=pihole" - "traefik.udp.services.pihole.loadbalancer.server.port=53" # unbound: # image: mvance/unbound # container_name: unbound # networks: # - internal # - proxy # ports: # - "5753:53/tcp" # - "5753:53/udp" # restart: always # smokeping: # image: lscr.io/linuxserver/smokeping # container_name: smokeping # environment: # - PUID=1000 # - PGID=1000 # - TZ=Europe/Berlin # restart: unless-stopped # networks: # - proxy # volumes: # - smokeping-config:/config # - smokeping:/data # labels: # - "traefik.enable=true" # - "traefik.http.routers.smokeping.entrypoints=web" # - "traefik.http.routers.smokeping.rule=Host(`smokeping.localhost`) || Host(`smokeping.local`)" # - "traefik.http.services.smokeping.loadbalancer.server.port=80" # # netdata: # image: netdata/netdata # container_name: netdata # restart: unless-stopped # cap_add: # - SYS_PTRACE # networks: # - proxy # volumes: # - netdataconfig:/etc/netdata # - netdatalib:/var/lib/netdata # - netdatacache:/var/cache/netdata # - /etc/passwd:/host/etc/passwd:ro # - /etc/group:/host/etc/group:ro # - /proc:/host/proc:ro # - /sys:/host/sys:ro # - /etc/os-release:/host/etc/os-release:ro # labels: # - "traefik.enable=true" # - "traefik.http.routers.netdata.entrypoints=web" # - "traefik.http.routers.netdata.rule=Host(`netdata.localhost`) || Host(`netdata.local`)" # - "traefik.http.services.netdata.loadbalancer.server.port=19999"