feat: add Adguard Home
This commit is contained in:
parent
863b8135b6
commit
91a4c68e06
@ -1,3 +1,5 @@
|
|||||||
|
COMPOSE_FILE=docker-compose.yml
|
||||||
|
COMPOSE_PATH_SEPARATOR=:
|
||||||
USER_ID=1000
|
USER_ID=1000
|
||||||
GROUP_ID=1000
|
GROUP_ID=1000
|
||||||
TIMEZONE="America/New_York"
|
TIMEZONE="America/New_York"
|
||||||
@ -8,6 +10,7 @@ PIA_USER=
|
|||||||
PIA_PASS=
|
PIA_PASS=
|
||||||
PIA_LOCAL_NETWORK="192.168.0.0/16"
|
PIA_LOCAL_NETWORK="192.168.0.0/16"
|
||||||
HOSTNAME=
|
HOSTNAME=
|
||||||
|
ADGUARD_HOSTNAME=
|
||||||
LETS_ENCRYPT_EMAIL=
|
LETS_ENCRYPT_EMAIL=
|
||||||
CLOUDFLARE_EMAIL=
|
CLOUDFLARE_EMAIL=
|
||||||
CLOUDFLARE_DNS_API_TOKEN=
|
CLOUDFLARE_DNS_API_TOKEN=
|
||||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -18,3 +18,9 @@
|
|||||||
!/letsencrypt/.gitkeep
|
!/letsencrypt/.gitkeep
|
||||||
/jellyfin
|
/jellyfin
|
||||||
!/jellyfin/.gitkeep
|
!/jellyfin/.gitkeep
|
||||||
|
/adguardhome/certs
|
||||||
|
!/adguardhome/certs/.gitkeep
|
||||||
|
/adguardhome/conf
|
||||||
|
!/adguardhome/conf/.gitkeep
|
||||||
|
/adguardhome/work
|
||||||
|
!/adguardhome/work/.gitkeep
|
||||||
|
0
adguardhome/certs/.gitkeep
Normal file
0
adguardhome/certs/.gitkeep
Normal file
0
adguardhome/conf/.gitkeep
Normal file
0
adguardhome/conf/.gitkeep
Normal file
68
adguardhome/docker-compose.yml
Normal file
68
adguardhome/docker-compose.yml
Normal 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
|
0
adguardhome/work/.gitkeep
Normal file
0
adguardhome/work/.gitkeep
Normal file
@ -171,7 +171,7 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- 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=true
|
||||||
- traefik.http.routers.heimdall.tls.certresolver=myresolver
|
- traefik.http.routers.heimdall.tls.certresolver=myresolver
|
||||||
- traefik.http.services.heimdall.loadbalancer.server.port=80
|
- traefik.http.services.heimdall.loadbalancer.server.port=80
|
||||||
|
23
flaresolverr/docker-compose.yml
Normal file
23
flaresolverr/docker-compose.yml
Normal 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
|
Loading…
Reference in New Issue
Block a user