树莓派 3B+ 利用docker-compose 单台设备安装paopaodns adguardhome #152
Replies: 2 comments 3 replies
-
|
2024.06.01:补充了一些内容: |
Beta Was this translation helpful? Give feedback.
-
|
version: "3.4" |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
树莓派3B+ 1G的内存,4 x [USB 2.0接口]
常规配置,同ipad一样,是常见的吃灰设备之一。
树莓派环境为:Raspberry Pi OS Lite
Release date: March 15th 2024
System: 32-bit
Kernel version: 6.6
Debian version: 12 (bookworm)
下载连接:https://downloads.raspberrypi.com/raspios_lite_armhf/images/raspios_lite_armhf-2024-03-15/2024-03-15-raspios-bookworm-armhf-lite.img.xz
本文默认认为你已经在使用科学上网,并且可以安装proxychains,
给wget、curl等软件使用科学上网。
这里不讲解docker、docker-compose的安装和使用,
docker-compose是独立安装,非docker自带的docker compose
先直接在树莓派里输入
sudo netstat -tuln | grep :53
你会发现大概类似下面这样的内容。
我已经成功运行adguardhome和paopaodns,所以是下面的内容。

部分有困难焦虑的人士,看到数据和你树莓派上的不一样,这个不要焦虑。
我的树莓派全新烧录img后,
占用53端口的是systemd-resolved,
于是分别输入以下命令,用以取消和禁用systemd-resolved服务:
然后你会发现,你没网络了。
不着急。继续往下看。
接着输入sudo nano /etc/resolve.conf
按照下图加入223.5.5.5和8.8.8.8,稍后用到。
在能正常运行paopaodns以后,这里还得修改为:

nameserver 127.0.0.1(也可能paopaodns自动修改)
docker-compose代码参考:https://www.jackiewu.top/45fe9747966b48f5a4b9ec08fb1fdd80?pvs=25
于是按照上面网址内的内容,AdGuardHome 为53端口,paopaodns为54端口,
直接把docker代码丢给chatgpt让其改写成docker-compose,代码如下,
注意,自行创建/修改volumes中的宿主机目录,以及paopaodns,environment下的功能,还有端口:
在你存放docker-compose.yml的地方,输入sudo nano docker-compose.yml
复制下方的内容到 yml文件里,保存。
然后保存,
这里提一下,如果树莓派,或者你当前在装的设备的上一层设备没有科学上网
(给小白:你就理解成从上一路由器里的LAN口接出来,接入到当前设备WAN口给当前设备提供网络)
但是在局域网内某个win设备上装了科学上网,并且有socks和http,
那么以树莓派3B+举例:
#创建目录
内容参考下图,

改动的是http_proxy 和https_proxy这两个部分
然后重新加载系统的 systemd 配置并重启 Docker 服务:
这个时候,你的docker 或者docker-compose已经可以使用科学上网了
这样就可以很方便的使用sudo docker-compose pull
科学上网软件为:V2RAYN,
其软件里的DNS设置为:
科学上网 DNS设置下方的Outbound Freedom domainStrategy为空,
域名解析笫略:Asls,域名匹配算法为空。
然后在当前目录里,非root账号中,输入sudo docker-compose up 或者sudo docker-compose up -d
首次运行的话,会下载、安装 镜像运行需要的库(由于上面配置了科学上网,现在速度不会慢,如果还是慢的话,查看是否配置有问题,或者节点不能联通)
注意,这里常见的错误是
在 Linux 系统中,要在没有使用 sudo 的情况下运行 Docker 和 Docker Compose,用户需要加入 docker 用户组。
直接输入sudo usermod -aG docker $USER
一般有这两个数据,两个功能已经跑起来了


然后浏览器输入192.168.1.*:3000,进入adguardhome的安装,

adguardhome的安装操作,我这里就不详细讲解了,网络上较多,
adguardhome DNS这里,如下填写
选择【并行请求】

先不管其他配置,直接先拉到这里点保存
依次点击保存、测试上游,右下角如图显示,说明能正常运行
adguardhome接下来的配置我直接放图,


广告屏蔽规则部分
adguardhome 用于科学上网解析广告规则等链接
这部分内容在 上述docker-compose配置里:/home/pi/confdir下的AdGuardHome.yaml里
v2yN中的geoip.dat 和 geosite.da文件,来源自:
https://github.com/Loyalsoldier/v2ray-rules-dat
下载到本地,停止科学上网后,手动复制到科学V2yN文件夹里
重新运行软件。
以上这样配置后,paopaodns正常使用,adguardhome也能获取数据

科学上网平时也很流畅。
————————
06.15做了内容调整,增加了docker-compose科学上网部分的添加,以及一些语句顺序,词语的调整。
Beta Was this translation helpful? Give feedback.
All reactions