media-stack/adguardhome/docker-compose.yml
2023-11-11 12:33:17 -05:00

83 lines
2.3 KiB
YAML

version: '3.9'
services:
dhcp-relay:
image: modem7/dhcprelay:latest
container_name: dhcp-relay
restart: always
depends_on:
- adguardhome
command: ["-id", "enp2s0", "-iu", "br_adguard", "10.0.0.10"]
cap_add:
- NET_ADMIN
network_mode: host
mem_reservation: 6m
profiles:
- adguardhome
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: always
networks:
adguardhome:
ipv4_address: 10.0.0.10
default:
ports:
- "53:53/tcp"
- "53:53/udp"
- "68:68/tcp"
- "68:68/udp"
- "853:853/tcp"
volumes:
- ./adguardhome/work:/opt/adguardhome/work
- ./adguardhome/conf:/opt/adguardhome/conf
- ./adguardhome/certs:/opt/adguardhome/certs
labels:
- "traefik.enable=true"
- "traefik.docker.network=docker-compose-nas"
- "traefik.http.services.adguardhome.loadbalancer.server.port=3000"
- "traefik.http.routers.adguardhome.rule=(Host(`${ADGUARD_HOSTNAME}`))"
- "traefik.http.routers.adguardhome.tls=true"
- "traefik.http.routers.adguardhome.tls.certresolver=myresolver"
- homepage.group=Utilities
- homepage.name=Adguard
- homepage.icon=adguard-home.png
- homepage.href=https://${ADGUARD_HOSTNAME}
- homepage.description=DNS Adblocker
- homepage.weight=0
- homepage.widget.type=adguard
- homepage.widget.url=https://${ADGUARD_HOSTNAME}
- homepage.widget.username=${ADGUARD_USERNAME}
- homepage.widget.password=${ADGUARD_PASSWORD}
profiles:
- adguardhome
traefik-certs-dumper:
image: ldez/traefik-certs-dumper
container_name: traefik-certs-dumper
restart: always
entrypoint: sh -c '
apk add jq
; while ! [ -e /data/acme.json ]
|| ! [ `jq ".[] | .Certificates | length" /data/acme.json` != 0 ]; do
sleep 1
; done
&& traefik-certs-dumper file --version v2 --watch
--clean false
--source /data/acme.json --dest /certs'
volumes:
- ./letsencrypt:/data
- ./adguardhome/certs:/certs
profiles:
- adguardhome
networks:
adguardhome:
driver: bridge
driver_opts:
com.docker.network.bridge.name: br_adguard
ipam:
config:
- subnet: 10.0.0.0/24