Files
Portainer/adguard/docker-compose.yml
T
Eduardo David Paredes Vara 174d282fd9 feat(adguard): añadir sincronización automática de certificados
- adguard-cert-sync.service / .timer: unidades systemd para renovar
  automáticamente el certificado TLS de AdGuard cuando Traefik lo renueva
- sync-adguard-cert.sh: script que copia cert desde /opt/traefik/certs
  y reinicia AdGuard vía API
- docker-compose.yml y stack.env: ajustes menores
- README.md: documentación actualizada con instrucciones de instalación

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:47:26 +00:00

37 lines
1.2 KiB
YAML

services:
adguardhome:
image: ${ADGUARD_IMAGE}
container_name: adguardhome
pull_policy: always
restart: unless-stopped
volumes:
- ${ADGUARD_WORK_PATH}:/opt/adguardhome/work:Z
- ${ADGUARD_CONF_PATH}:/opt/adguardhome/conf:Z
- ${ADGUARD_CERT_CRT_PATH}:/certs/adguard.crt:ro,Z
- ${ADGUARD_CERT_KEY_PATH}:/certs/adguard.key:ro,Z
# Solo DNS/DoT expuestos en el host
ports:
# - "53:53/tcp"
# - "53:53/udp"
- "${ADGUARD_DOT_PORT}:853/tcp" # DoT para Android (DNS privado)
# - "81:80/tcp"
networks:
proxy:
ipv4_address: ${ADGUARD_IPV4}
labels:
traefik.enable: "true"
traefik.docker.network: "${TRAEFIK_DOCKER_NETWORK}"
traefik.http.routers.adguard.rule: "Host(`${ADGUARD_DOMAIN}`)"
traefik.http.routers.adguard.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}"
traefik.http.routers.adguard.tls.certresolver: "${TRAEFIK_CERTRESOLVER}"
traefik.http.routers.adguard.middlewares: "crowdsec-bouncer@file,${TRAEFIK_AUTH_MIDDLEWARE}"
traefik.http.services.adguard.loadbalancer.server.port: "${ADGUARD_HTTP_PORT}"
networks:
proxy:
external: true