homelab/pihole/docker-compose.yml
2023-05-26 13:20:35 -05:00

71 lines
2.5 KiB
YAML

version: "3"
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
pihole:
image: pihole/pihole:latest
container_name: pihole
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
# Volumes store your data between container upgrades
volumes:
- /etc/localtime:/etc/localtime:ro
- ${PWD}/pihole/data/etc-pihole/:/etc/pihole/
- ${PWD}/pihole/data/etc-dnsmasq.d/:/etc/dnsmasq.d/
# ports:
# - "8080:80/tcp"
# - "53:53/tcp"
# - "53:53/udp"
# - "67:67/udp"
environment:
# TZ: "America/Chicago"
WEBPASSWORD: "${PIHOLE_PASSWORD}"
# Recommended but not required (DHCP needs NET_ADMIN)
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN
labels:
- "traefik.enable=true"
- "traefik.http.routers.pihole.entrypoints=http"
- "traefik.http.routers.pihole.rule=Host(`pihole.${URL}`)"
- "traefik.http.middlewares.pihole-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.pihole.middlewares=pihole-https-redirect"
- "traefik.http.routers.pihole-secure.entrypoints=https"
- "traefik.http.routers.pihole-secure.rule=Host(`pihole.${URL}`)"
- "traefik.http.routers.pihole-secure.tls=true"
- "traefik.http.routers.pihole-secure.service=pihole"
- "traefik.http.services.pihole.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
networks:
proxy:
external: true
#
# version: "3"
# # More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
# services:
# pihole:
# container_name: pihole
# image: pihole/pihole:latest
# # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
# ports:
# # - "53:53/tcp"
# # - "53:53/udp"
# # - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
# - "8080:80/tcp"
# environment:
# TZ: "America/Chicago"
# # WEBPASSWORD: 'set a secure password here or it will be random'
# # Volumes store your data between container upgrades
# volumes:
# - "./etc-pihole:/etc/pihole"
# - "./etc-dnsmasq.d:/etc/dnsmasq.d"
# # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# cap_add:
# - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
# restart: unless-stopped