63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
services:
|
|
pihole:
|
|
container_name: pihole
|
|
image: pihole/pihole:latest
|
|
hostname: pihole
|
|
domainname: ${DOMAIN_NAME}
|
|
#mac_address: de:ad:be:ef:ff:01 # can change or leave this
|
|
cap_add: # only needed if doing DHCP
|
|
- NET_ADMIN
|
|
restart: unless-stopped
|
|
|
|
secrets:
|
|
- piholepass
|
|
|
|
networks:
|
|
pihole_network:
|
|
ipv4_address: ${PIHOLE_IP}
|
|
|
|
dns:
|
|
- 127.0.0.1 # use local DNS
|
|
|
|
ports:
|
|
- "53:53/tcp" #DNS
|
|
- "53:53/udp" #DNS
|
|
- "67:67/udp" #DHCP
|
|
- "80:80/tcp" #HTTP
|
|
- "443:443/tcp" #HTTPS
|
|
|
|
volumes:
|
|
- "/srv/docker/pihole/pihole:/etc/pihole"
|
|
- "/srv/docker/pihole/dnsmasq.d:/etc/dnsmasq.d"
|
|
|
|
environment:
|
|
ServerIP: ${PIHOLE_IP}
|
|
FTLCONF_LOCAL_IPV4: ${PIHOLE_IP}
|
|
PIHOLE_DNS_: ${PIHOLE_IP}
|
|
DNSSEC: "false"
|
|
VIRTUAL_HOST: ${SERVICE_NAME}.${DOMAIN_NAME}
|
|
#WEBPASSWORD: "randompassword"
|
|
WEBPASSWORD_FILE: "/run/secrets/piholepass"
|
|
TZ: "America/Chicago"
|
|
labels:
|
|
### Auto create icon on Flame dashboard
|
|
- flame.type=application
|
|
- flame.name=${SERVICE_NAME}
|
|
- flame.url=https://${PIHOLE_IP}/admin
|
|
- flame.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/pi-hole.svg
|
|
### Monitor with uptime-kuma
|
|
- kuma.monitoring.group.name=Docker Containers
|
|
- kuma.${SERVICE_NAME}.docker.parent_name=monitoring
|
|
- kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME}
|
|
- kuma.${SERVICE_NAME}.docker.type=docker
|
|
- kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME}
|
|
- kuma.${SERVICE_NAME}.docker.docker_host=1
|
|
- 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]'
|
|
|
|
secrets:
|
|
piholepass:
|
|
file: "/srv/docker/pihole/piholepass.txt"
|
|
|
|
networks:
|
|
pihole_network: # externally created network
|
|
external: true |