50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: "3.7"
 | 
						|
 | 
						|
services:
 | 
						|
  pihole:
 | 
						|
    container_name: pihole
 | 
						|
    image: pihole/pihole:2024.03.2
 | 
						|
    restart: unless-stopped
 | 
						|
    hostname: pihole
 | 
						|
    dns:
 | 
						|
      - 127.0.0.1
 | 
						|
    ports:
 | 
						|
      - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp
 | 
						|
      - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp
 | 
						|
      - ${APP_PORT}:80
 | 
						|
    volumes:
 | 
						|
      - ${APP_DATA_DIR}/data/pihole:/etc/pihole
 | 
						|
      - ${APP_DATA_DIR}/data/dnsmasq:/etc/dnsmasq.d
 | 
						|
    environment:
 | 
						|
      TZ: ${TZ}
 | 
						|
      WEBPASSWORD: ${APP_PASSWORD}
 | 
						|
    cap_add:
 | 
						|
      - NET_ADMIN
 | 
						|
    networks:
 | 
						|
      - tipi_main_network
 | 
						|
    labels:
 | 
						|
      # Main
 | 
						|
      traefik.enable: true
 | 
						|
      traefik.http.middlewares.pihole-web-redirect.redirectscheme.scheme: https
 | 
						|
      traefik.http.services.pihole.loadbalancer.server.port: 80
 | 
						|
      # Web
 | 
						|
      traefik.http.routers.pihole-insecure.rule: Host(`${APP_DOMAIN}`)
 | 
						|
      traefik.http.routers.pihole-insecure.entrypoints: web
 | 
						|
      traefik.http.routers.pihole-insecure.service: pihole
 | 
						|
      traefik.http.routers.pihole-insecure.middlewares: pihole-web-redirect
 | 
						|
      # Websecure
 | 
						|
      traefik.http.routers.pihole.rule: Host(`${APP_DOMAIN}`)
 | 
						|
      traefik.http.routers.pihole.entrypoints: websecure
 | 
						|
      traefik.http.routers.pihole.service: pihole
 | 
						|
      traefik.http.routers.pihole.tls.certresolver: myresolver
 | 
						|
      # Local domain
 | 
						|
      traefik.http.routers.pihole-local-insecure.rule: Host(`pihole.${LOCAL_DOMAIN}`)
 | 
						|
      traefik.http.routers.pihole-local-insecure.entrypoints: web
 | 
						|
      traefik.http.routers.pihole-local-insecure.service: pihole
 | 
						|
      traefik.http.routers.pihole-local-insecure.middlewares: pihole-web-redirect
 | 
						|
      # Local domain secure
 | 
						|
      traefik.http.routers.pihole-local.rule: Host(`pihole.${LOCAL_DOMAIN}`)
 | 
						|
      traefik.http.routers.pihole-local.entrypoints: websecure
 | 
						|
      traefik.http.routers.pihole-local.service: pihole
 | 
						|
      traefik.http.routers.pihole-local.tls: true
 |