85 lines
2.4 KiB
YAML
85 lines
2.4 KiB
YAML
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-dhcp
|
|
|
|
adguardhome:
|
|
image: adguard/adguardhome
|
|
container_name: adguardhome
|
|
restart: always
|
|
healthcheck:
|
|
test: [ "CMD", "wget", "http://127.0.0.1:3000", "-qO", "/dev/null" ]
|
|
interval: 30s
|
|
retries: 10
|
|
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
|