跳到主要内容

Adguard Home

官方网站

https://adguard.com/

可以对广告进行DNS级别的过滤,需要手动找过滤规则。如果有误杀的情况,可手动添加DNS白名单。

Docker方式安装

compose文件

networks:
default:
external: true
name: ${DOCKER_MY_NETWORK}
services:
adguardhome:
container_name: adguardhome
restart: unless-stopped
volumes:
- ${DOCKER_HOME}/adguardhome/work:/opt/adguardhome/work
- ${DOCKER_HOME}/adguardhome/conf:/opt/adguardhome/conf
- ${DOCKER_HOME}/npm/letsencrypt/archive:/opt/adguardhome/archive:ro
- ${DOCKER_HOME}/npm/letsencrypt/live:/opt/adguardhome/live:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
image: adguard/adguardhome
networks:
default:
ipv4_address: 172.20.0.14
deploy:
resources:
limits:
cpus: "0.5"
memory: 100M

AdguardHome配置DOH需要用到https证书,这里通过挂载NPM容器的两个路径(如下所示),来实现证书共享。NPM证书自动更新,这里也会自动更新

      - ${DOCKER_HOME}/npm/letsencrypt/archive:/opt/adguardhome/archive:ro
- ${DOCKER_HOME}/npm/letsencrypt/live:/opt/adguardhome/live:ro

env文件

# VARIABLE=value #comment
DOCKER_HOME=/home/username/docker
DOCKER_MY_NETWORK=npm_default

通过env文件来配置docker子网络,以及docker数据持久化的路径。

启动

docker compose up -d

配置文件

通过Nginx Proxy Manager反代之后,所有的客户端在日志中,都是使用172.20.0.14这个地址。 这里官方文档中也给出了解决方案,在配置文件trusted_proxies项中加入这个网段的地址即可,如下:

  trusted_proxies:
- 127.0.0.0/8
- ::1/128
- 172.20.0.0/24

配置文件位于 /home/username/docker/adguardhome/conf/AdGuardHome.yaml

重新启动

手动修改完配置文件需要重新启动

备注