summaryrefslogtreecommitdiff
path: root/playbooks/roles/pihole/templates/stacks/docker-compose.yml
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-04-27 21:15:30 -0700
committerElizabeth Hunt <me@liz.coffee>2025-04-27 21:25:52 -0700
commitdaef0cf448af17357b552245f39067a9d340ce3d (patch)
treef65a660f7232f057b0c14e477c166006bfb83f87 /playbooks/roles/pihole/templates/stacks/docker-compose.yml
parent1dcdfe34a74708f88aad68af965f4bb5c79adff1 (diff)
downloadinfra-daef0cf448af17357b552245f39067a9d340ce3d.tar.gz
infra-daef0cf448af17357b552245f39067a9d340ce3d.zip
Waow
Diffstat (limited to 'playbooks/roles/pihole/templates/stacks/docker-compose.yml')
-rw-r--r--playbooks/roles/pihole/templates/stacks/docker-compose.yml27
1 files changed, 16 insertions, 11 deletions
diff --git a/playbooks/roles/pihole/templates/stacks/docker-compose.yml b/playbooks/roles/pihole/templates/stacks/docker-compose.yml
index a99d7db..47422f1 100644
--- a/playbooks/roles/pihole/templates/stacks/docker-compose.yml
+++ b/playbooks/roles/pihole/templates/stacks/docker-compose.yml
@@ -1,19 +1,33 @@
-version: '3.2'
-
services:
pihole:
image: pihole/pihole:latest
+ ports:
+ - "53:53/udp"
+ - "53:53/tcp"
volumes:
- {{ pihole_base }}/volumes/pihole:/etc/pihole
- {{ pihole_base }}/volumes/dnsmasq:/etc/dnsmasq.d
environment:
+ - DEPLOYMENT_TIME={{ now() }}
- TZ={{ timezone }}
- FTLCONF_webserver_api_password={{ pihole_webpwd }}
- FTLCONF_dns_upstreams={{ upstream_dns_servers | join(';') }}
networks:
- proxy
+{% if not homelab_build %}
+ healthcheck:
+ test: ["CMD-SHELL", "dig loadbalancer.{{ domain }} @127.0.0.1 | grep -q {{ loadbalancer_ip }}"]
+ retries: 3
+ timeout: 5s
+ start_period: 8s
+{% endif %}
deploy:
mode: replicated
+ update_config:
+ parallelism: 1
+ order: start-first
+ failure_action: rollback
+ monitor: 10s
replicas: 1
labels:
- traefik.enable=true
@@ -23,15 +37,6 @@ services:
- traefik.http.routers.piholeweb.rule=Host(`{{ pihole_domain }}`)
- traefik.http.routers.piholeweb.entrypoints=websecure
- traefik.http.services.piholeweb.loadbalancer.server.port=80
- # 53/udp
- - traefik.udp.routers.pihole-dns-udp.entrypoints=dns_udp
- - traefik.udp.routers.pihole-dns-udp.service=pihole-dns-udp
- - traefik.udp.services.pihole-dns-udp.loadbalancer.server.port=53
- # 53/tcp
- - traefik.tcp.routers.pihole-dns-tcp.rule=HostSNI(`*`)
- - traefik.tcp.routers.pihole-dns-tcp.entrypoints=dns_tcp
- - traefik.tcp.routers.pihole-dns-tcp.service=pihole-dns-tcp
- - traefik.tcp.services.pihole-dns-tcp.loadbalancer.server.port=53
networks:
proxy: