yangtb24 commited on
Commit
5dcc43c
·
verified ·
1 Parent(s): 9d0dc75

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -9
Dockerfile CHANGED
@@ -1,22 +1,22 @@
1
- # 使用官方镜像,我们依然需要它的可执行文件
2
  FROM adguard/adguardhome:latest
3
 
4
- # 强制切换到 root 用户,确保有权限执行所有操作
5
  USER root
6
 
7
- # --- 关键的 Workaround ---
8
- # 我们在构建镜像时,就手动创建一个最小化的、有效的配置文件。
9
- # 这会骗过 AdGuard Home,让它以为自己不是第一次启动,从而绕过有 Bug 的权限检查。
10
- # 这个配置指定了 Web UI 监听我们需要的 3000 端口。
11
- RUN echo 'bind_host: 0.0.0.0\n\
12
  bind_port: 3000\n\
13
- schema_version: 29' > /opt/adguardhome/conf/AdGuardHome.yaml
14
 
15
  # 声明持久化卷和端口
16
  VOLUME ["/opt/adguardhome/work", "/opt/adguardhome/conf"]
17
  EXPOSE 53/udp 3000/tcp 80/tcp 443/tcp 853/tcp
18
 
19
- # 最终的启动命令,只提供参数
20
  CMD ["--no-check-update", \
21
  "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", \
22
  "-w", "/opt/adguardhome/work"]
 
 
1
+ # 使用官方镜像
2
  FROM adguard/adguardhome:latest
3
 
4
+ # 强制切换到 root 用户
5
  USER root
6
 
7
+ # --- 关键修正:使用正确的 YAML 语法创建配置文件 ---
8
+ # 使用 printf 来确保每一行都正确换行
9
+ # 这会生成一个语法完全正确的 YAML 文件,从而被 AdGuard Home 正确解析
10
+ RUN printf 'bind_host: 0.0.0.0\n\
 
11
  bind_port: 3000\n\
12
+ schema_version: 29\n' > /opt/adguardhome/conf/AdGuardHome.yaml
13
 
14
  # 声明持久化卷和端口
15
  VOLUME ["/opt/adguardhome/work", "/opt/adguardhome/conf"]
16
  EXPOSE 53/udp 3000/tcp 80/tcp 443/tcp 853/tcp
17
 
18
+ # 最终的启动命令
19
  CMD ["--no-check-update", \
20
  "-c", "/opt/adguardhome/conf/AdGuardHome.yaml", \
21
  "-w", "/opt/adguardhome/work"]
22
+