安装Traefik
在应用中心搜索【Traefik】并安装
- 点击安装即可跳转到配置设置界面,按照下图添加配置
- 名称:默认 traefik
- 网络类型:需要新建自定义网络,并选择新建的自定义网络
- 不会新建自定义网络的移步这篇文章
- Config Folder:默认 /mnt/user/appdata/traefik
- https Port:外网https访问的端口
- http Port:外网http访问的端口
- Web UI Port:访问 Traefik 仪表盘页面端口
- Cloudflare API Token:Cloudflare API 令牌
- Cloudflare获取 API 令牌请参考这篇文章
- 权限配置和区域资源按照下边两张图做调整即可
- Traefik Dashboard Subdomain:设置外网访问仪表盘的域名
- Traefik Entrypoint:https
- Traefik API:完整
- Enable Traefik (Dashboard):开启仪表盘
- 配置完成后,点击应用部署容器。
- 部署完成后,Traefik暂时还不能成功运行,不用担心,接着往下看。
Docker Socket (API)
为了让 Traefik 监控 docker 容器,它需要访问 Docker Socket。有两种方法可以实现这一点。
方案1:安全的方案【推荐】
如果打算使用此方法,请特别注意配置文件的“provider”部分。
需要在配置文件中添加一行:
我提供的配置文件默认使用安全方式,可以忽略这一提示!
需要在配置文件中添加一行:
endpoint: "tcp://dockersocket:2375"
我提供的配置文件默认使用安全方式,可以忽略这一提示!
- 安装 dockersocket
- 不会新建自定义网络的移步这篇文章
- 进入 Traefik 容器,编辑模板
- 进入模板后,滚动到底部并单击“添加另一个路径、端口、变量、标签或设备”。
- 按照下图字段添加变量
- 配置类型:
变量
- 名称:Docker Socket Proxy 【可自定义】
- 键:
DOCKER_HOST
- 值:
dockersocket
【Docker Socket容器名称】 - 单击“保存”,滚动到模板底部,然后单击“应用”,再次部署容器。
Traefik 现在能够检索其他容器的信息(只读访问),但无法启动其他容器或通过 Docker API 运行命令。
方案2:简单但安全性较差
警告-不安全的方法
允许容器直接访问
请阅读以下文章,了解有关与 docker 容器共享 docker.sock 的漏洞以及它如何危害您的服务器的更多信息。
暴露 docker.sock 的危险
https://dejandayoff.com/the-danger-of-exusing-docker.sock/
允许容器直接访问
docker.sock
是不安全的,并且可能使您的系统容易受到攻击。请阅读以下文章,了解有关与 docker 容器共享 docker.sock 的漏洞以及它如何危害您的服务器的更多信息。
暴露 docker.sock 的危险
https://dejandayoff.com/the-danger-of-exusing-docker.sock/
- 进入 Traefik 容器,编辑模板
- 进入模板后,滚动到底部并单击“添加另一个路径、端口、变量、标签或设备”。
- 按照下图字段配置,添加一个新的路径映射
- 配置类型:
路径
- 名称:Docker API【可自定义】
- 键:
/var/run/docker.sock
- 值:
/var/run/docker.sock
- 访问模式:
只读
- 单击“保存”,滚动到模板底部,然后单击“应用”,再次部署容器。
acme.json
- Traefik 需要一个名为 acme.json 的文件来存储 SSL 证书信息,并且这个文件权限必须设置为安全的。
- 创建一个
acme.json
空白文件并更改权限
touch /mnt/user/appdata/traefik/acme.json; chmod 600 /mnt/user/appdata/traefik/acme.json
启用 Authelia 服务器身份验证
unraid 安装 Authelia 移步这篇文章
- 在启用 Traefik 将身份验证请求转发到 Authelia 之前,首先需要通过 Traefik 反向代理 Authelia 容器服务。
- 如下面两张图所示向 Authelia 模板添加两个标签
traefik.enable = true
traefik.http.routers.authelia.entryPoints = https
Traefik运行所需的配置文件
traefik.yml
fileConfig.yml
文件配置完成后,重启Traefik
- 已经可以成功访问仪表盘
Traefik 反向代理内网容器服务请移步下边这篇文章
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
- 最新
- 最热
查看全部