services: pihole: image: ${PIHOLE_IMAGE:-pihole/pihole:latest} restart: unless-stopped volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq:/etc/dnsmasq.d' environment: - TZ=${TZ:-America/Vancouver} # Set a password to access the web interface. Not setting one will result in a random password being assigned - FTLCONF_webserver_api_password=${PIHOLE_PASSWORD:-correctHorseBatteryStaple} # If using Docker's default `bridge` network setting the dns listening mode should be set to 'ALL' - FTLCONF_dns_listeningMode=${PIHOLE_LISTENMODE:-ALL} ports: # DNS Ports - "53:53/tcp" - "53:53/udp" # Default HTTP Port - "80:80/tcp" # Default HTTPs Port. FTL will generate a self-signed certificate - "443:443/tcp" # Uncomment the line below if you are using Pi-hole as your DHCP server #- "67:67/udp" # Uncomment the line below if you are using Pi-hole as your NTP server #- "123:123/udp" cap_add: # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities # Required if you are using Pi-hole as your DHCP server, else not needed # - NET_ADMIN # Required if you are using Pi-hole as your NTP client to be able to set the host's system time - SYS_TIME # Optional, if Pi-hole should get some more processing time - SYS_NICE