app-store/apps/pihole/docker-compose.yml

50 lines
1.8 KiB
YAML

version: "3.7"
services:
pihole:
container_name: pihole
image: pihole/pihole:2024.06.0
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