feat: add Adguard Home

This commit is contained in:
AdrienPoupa 2023-02-15 20:06:19 +00:00 committed by Adrien Poupa
parent 863b8135b6
commit 91a4c68e06
8 changed files with 103 additions and 3 deletions

View File

@ -1,3 +1,5 @@
COMPOSE_FILE=docker-compose.yml
COMPOSE_PATH_SEPARATOR=:
USER_ID=1000
GROUP_ID=1000
TIMEZONE="America/New_York"
@ -8,7 +10,8 @@ PIA_USER=
PIA_PASS=
PIA_LOCAL_NETWORK="192.168.0.0/16"
HOSTNAME=
ADGUARD_HOSTNAME=
LETS_ENCRYPT_EMAIL=
CLOUDFLARE_EMAIL=
CLOUDFLARE_DNS_API_TOKEN=
CLOUDFLARE_ZONE_API_TOKEN=
CLOUDFLARE_ZONE_API_TOKEN=

8
.gitignore vendored
View File

@ -17,4 +17,10 @@
/letsencrypt
!/letsencrypt/.gitkeep
/jellyfin
!/jellyfin/.gitkeep
!/jellyfin/.gitkeep
/adguardhome/certs
!/adguardhome/certs/.gitkeep
/adguardhome/conf
!/adguardhome/conf/.gitkeep
/adguardhome/work
!/adguardhome/work/.gitkeep

View File

View File

View File

@ -0,0 +1,68 @@
version: '3.9'
services:
dhcp-relay:
image: modem7/dhcprelay:latest
container_name: dhcp-relay
restart: always
command: ["-id", "enp2s0", "-iu", "br_adguard", "10.0.0.10"]
cap_add:
- NET_ADMIN
network_mode: host
mem_limit: 20m
mem_reservation: 6m
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: always
networks:
adguardhome:
ipv4_address: 10.0.0.10
docker-compose-nas:
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"
traefik-certs-dumper:
image: ldez/traefik-certs-dumper
container_name: traefik-certs-dumper
networks:
docker-compose-nas:
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
--source /data/acme.json --dest /certs'
volumes:
- ./letsencrypt:/data
- ./adguardhome/certs:/certs
networks:
docker-compose-nas:
external: true
adguardhome:
driver: bridge
driver_opts:
com.docker.network.bridge.name: br_adguard
ipam:
config:
- subnet: 10.0.0.0/24

View File

View File

@ -171,7 +171,7 @@ services:
restart: always
labels:
- traefik.enable=true
- traefik.http.routers.heimdall.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/`) || PathPrefix(`/`))
- traefik.http.routers.heimdall.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/`))
- traefik.http.routers.heimdall.tls=true
- traefik.http.routers.heimdall.tls.certresolver=myresolver
- traefik.http.services.heimdall.loadbalancer.server.port=80

View File

@ -0,0 +1,23 @@
version: '3.9'
services:
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: always
networks:
docker-compose-nas:
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- TZ=${TIMEZONE}
labels:
- traefik.enable=true
- traefik.http.routers.flaresolverr.rule=PathPrefix(`/flaresolverr`)
- traefik.http.routers.flaresolverr.tls=true
- traefik.http.services.flaresolverr.loadbalancer.server.port=8191
networks:
docker-compose-nas:
external: true