Unraid 篇五:给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘
本着授人以鱼不如授人以渔的想法发了基础篇 , 没想到竟然有人嫌这嫌那 , 都喜欢traefik那样复制粘贴是吗 , 可视化面板是吗 好吧 , 给你就是了 , 这部分写完也算填完SWAG的坑 ,之前没发只是觉得这部分对一般人来说比较高级, 可能用不到 ,还不如在基础篇上加强 , 多了解下Nginx语法的使用 , 不然你只是在复制粘贴 , 对你以后玩机百害无一利 , 劝你尽早弃坑别玩 ... 下面直接开始吧 ..
基础安装以及域名配置解说跳转先去看前篇
一. SWAG添加自动反代
1.1 SWAG添加变量
key: DOCKER_MODS
value: linuxserver/mods:swag-auto-proxy
开启本文所有功能请替换value后的内容:
linuxserver/mods:universal-docker|linuxserver/mods:swag-auto-reload|linuxserver/mods:swag-auto-proxy|linuxserver/mods:swag-dashboard
1.2 SWAG添加文件监控变量 , 实现修改配置立即生效 (跟traefik修改标签可以立即刷新一样效果)
key: WATCHLIST
value: XXXXXXXX - 常用配置
上面的 常用配置 扩展,中间添加 "|"
/config/nginx/authelia-location.conf
/config/nginx/authelia-server.conf
/config/nginx/geoip2.conf
/config/nginx/ldap.conf
/config/nginx/nginx.conf
/config/nginx/proxy-confs
/config/nginx/proxy.conf
/config/nginx/site-confs
/config/nginx/ssl.conf
方便复制(全部启用,复制到value项) , 包含了大部分常用修改项的监控,你也可以自己选择添加更多的文件监控目录进去
/config/nginx/authelia-location.conf|/config/nginx/authelia-server.conf|/config/nginx/geoip2.conf|/config/nginx/ldap.conf||/config/nginx/nginx.conf|/config/nginx/proxy-confs|/config/nginx/proxy.conf|/config/nginx/site-confs|/config/nginx/ssl.conf
2. 分 安全/不安全 两种方式
安全方式
1. 列表项列表项docker下, 需要安装 dockersocket
2. swag添加变量
key: DOCKER_HOST
值: dockersocket
效果:只读方式检索其他容器,但无法启动其他容器或者通过API运行命令
不安全方式
此方式不需要安装dockersocket
swag下添加path "/var/run/docker/sock"即可,
unraid的docker默认安装的时候配置里已经自动有了
注:访问方式改为"只读"
3. 选择一个应用开启自动反代
1.选择你要反代的应用,添加一个标签 , 是的你没看错, 就跟traefik一样
key: swag
value: enable
应用,等待小会即可让自动代理重启生效
改为 disable 即可让其失效
3.篇外 ( 手动代理 , 详情请查看之前写的SWAG基础篇 )
修改 /mnt/user/appdata/swag/nginx/proxy-confs/ 文件夹下的文件,去掉 ".sample"尾缀
ls /mnt/user/appdata/swag/nginx/proxy-confs/
mv /mnt/user/appdata/swag/nginx/proxy-confs/***.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/***.subdomain.conf
docker restart swag
二 : swag添加SSO单点登录(authelia)
1. docker自行安装authelia
安装全部自动配置就行,不赘述
2. 修改yml
设置authelia子域方式,允许authelia使用子文件夹的方式,并将路径设置与SWAG默认使用的路径同步
命令行:
nano /mnt/user/appdata/Authelia/configuration.yml
找到 path:"" ,引号中添加authelia
3. 应用启用authelia保护
要开启authelia的应用添加标签
key: swag_auth
value: authelia
绕过authelia保护的任何单个容器的 /api : 要开启authelia的应用添加标签
key: swag_auth_bypass
value: /api
4. 篇外拓展 手动开启
命令行:
nano /mnt/user/appdata/swag/nginx/proxy-confs/***.subdomain.conf
去掉和authelia相关注释符号 "#"
重启docker
docker restart swag
三 : SWAG添加可视化仪表面板
1. SWAG配置
swag增加一个变量,开头加过了这里就不用加了
key: DOCKER_MODS
value: |linuxserver/mods:swag-dashboard
增加一个端口供面板使用
文参考的SWAG配置的拓展知识
swag=enable- 自动检测
swag_address=containername-可选- 覆盖上游应用程序地址。可以设置为 IP 或 DNS 主机名。默认为docker名称
swag_port=80-可选- 覆盖内部暴露端口
swag_proto=http-可选- 覆盖内部 proto(默认为 http)
swag_url=containername.domain.com-可选- 覆盖server_name(默认为containername.*)
swag_auth=authelia-可选- 启用SSO身份验证方法(选项是authelia,ldap和http用于基本 http 身份验证)
swag_auth_bypass=/api,/othersubfolder-可选- 绕过选定子文件夹的身份验证。逗号分隔,没有空格。
在 SWAG docker 参数中,设置环境变量DOCKER_MODS=linuxserver/mods:universal-docker|linuxserver/mods:swag-auto-proxy并为 添加卷映射/var/run/docker.sock:/var/run/docker.sock:ro,或设置环境变量DOCKER_HOST=remoteaddress。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
Hiccup90
搞得我又想试试了
其实swag最大的问题,在于新增了代理之后,需要重启生效。
而且一旦配置错误。就会无法正常启动。这才是我当初抛弃他的原因啊。
校验提示文案
山遥路远
校验提示文案
灵KOYB
校验提示文案
不辣的啤特
校验提示文案
uckaka
校验提示文案
丶乃么卵
校验提示文案
ianlee168
请问这句如何操作,前面都跟对了,这步卡住了,authelia正常下载后无法启动,网络是选bridge吗?
校验提示文案
fiohappy
搞得我又想试试了
其实我这里是想在openwrt的docker里安装,但是没办法照搬教程。
找了一大圈,也没有更贴近这篇教程的。
校验提示文案
文灬武
校验提示文案
值友5523285529
校验提示文案
fiohappy
校验提示文案
fiohappy
校验提示文案
fiohappy
搞得我又想试试了
其实我这里是想在openwrt的docker里安装,但是没办法照搬教程。
找了一大圈,也没有更贴近这篇教程的。
校验提示文案
值友5523285529
校验提示文案
ianlee168
请问这句如何操作,前面都跟对了,这步卡住了,authelia正常下载后无法启动,网络是选bridge吗?
校验提示文案
文灬武
校验提示文案
丶乃么卵
校验提示文案
uckaka
校验提示文案
不辣的啤特
校验提示文案
灵KOYB
校验提示文案
山遥路远
校验提示文案
Hiccup90
搞得我又想试试了
其实swag最大的问题,在于新增了代理之后,需要重启生效。
而且一旦配置错误。就会无法正常启动。这才是我当初抛弃他的原因啊。
校验提示文案