version: "3"

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
