Files
docker/networking/docker-compose.yaml

114 lines
3.0 KiB
YAML

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"