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