给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

2022-06-10 20:59:22 15点赞 110收藏 22评论

本着授人以鱼不如授人以渔的想法发了基础篇 , 没想到竟然有人嫌这嫌那 , 都喜欢traefik那样复制粘贴是吗 , 可视化面板是吗 给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘 好吧 , 给你就是了 , 这部分写完也算填完SWAG的坑 ,之前没发只是觉得这部分对一般人来说比较高级, 可能用不到 ,还不如在基础篇上加强 , 多了解下Nginx语法的使用 , 不然你只是在复制粘贴 , 对你以后玩机百害无一利 , 劝你尽早弃坑别玩 ... 下面直接开始吧 ..

  • 基础安装以及域名配置解说跳转先去看前篇

Unraid 篇二:aliyun+SWAG反向及部分踩坑配置简介SWAG项目:linuxserver/docker-swagunraid上目前主流的两种反代方式就是用SWAG和Nginxproxymanager(以下简称NPM)这两个docker实现.NPM其他基础教程很多了,这里就不详述了.优点就是可视化UI,配置无脑,但是需要另外再安装一个fail2ba小呀么小瓯北| 48 评论10 收藏69查看详情

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

一. SWAG添加自动反代

1.1 SWAG添加变量

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

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

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

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添加变量

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

key: DOCKER_HOST
值: dockersocket

效果:只读方式检索其他容器,但无法启动其他容器或者通过API运行命令

  • 不安全方式

此方式不需要安装dockersocket

swag下添加path "/var/run/docker/sock"即可,

unraid的docker默认安装的时候配置里已经自动有了

注:访问方式改为"只读"注:访问方式改为"只读"

注:访问方式改为"只读"

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

3. 选择一个应用开启自动反代

1.选择你要反代的应用,添加一个标签 , 是的你没看错, 就跟traefik一样

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

key: swag
value: enable

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘


应用,等待小会即可让自动代理重启生效
改为 disable 即可让其失效

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

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

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

3. 应用启用authelia保护

要开启authelia的应用添加标签

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

key: swag_auth

value: authelia

绕过authelia保护的任何单个容器的 /api : 要开启authelia的应用添加标签

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

key: swag_auth_bypass

value: /api

4. 篇外拓展 手动开启

命令行:

nano /mnt/user/appdata/swag/nginx/proxy-confs/***.subdomain.conf

  • 去掉和authelia相关注释符号 "#"

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

重启docker

docker restart swag

三 : SWAG添加可视化仪表面板

1. SWAG配置

swag增加一个变量,开头加过了这里就不用加了

key: DOCKER_MODS

value: |linuxserver/mods:swag-dashboard

增加一个端口供面板使用

给SWAG添加MOD,配置自动反代,SSO单点登录,增加高级仪表盘

文参考的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。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
22评论

  • 精彩
  • 最新
  • 文章很棒。
    搞得我又想试试了
    其实swag最大的问题,在于新增了代理之后,需要重启生效。
    而且一旦配置错误。就会无法正常启动。这才是我当初抛弃他的原因啊。

    校验提示文案

    提交
    哪个不得重启生效? 只不过软件都帮你做了而已.像traefik如果配置静态你一样也得手动重启,动态是自动重启
    这篇配置加入mod也是同样的让软件帮你识别更改进行自动重启任务

    校验提示文案

    提交
    收起所有回复
  • 要不再出一期traefik小白篇 [观察]

    校验提示文案

    提交
    traefik所谓的小白,其实并不白。只不过他的yaml配置文件对小白更友好,但是如果离开了基础模板,需要更加对他的官方文档熟悉和理解才能去写,不比通用的nginx强。就比如我,在没有任何人帮助从零开始,光是学习和配置就花了比swag更长的时间才让traefik实现我需要的同等的功能。而且traefik比swag更强的优势,我个人认为在于k8s这样的集群化操作上。

    校验提示文案

    提交
    收起所有回复
  • 这是一个仪表盘?

    校验提示文案

    提交
    谁说不是呢 [嘿嘿]

    校验提示文案

    提交
    收起所有回复
  • 请问dockersocket是什么,需要单独安装吗?也是用docker方式安装还是怎么安装?

    校验提示文案

    提交
    另外看了一下,文中提到的/var/run/docker/sock映射路径,在swag的官方文档里面,没有找到出处,只看到有一个/var/run/docker.sock的映射,是用于容器更新的,不知道作者修改的这个路径映射是处于哪里呢

    校验提示文案

    提交
    可以使用默认配置/var/run/docker/sock , 我用dockersocket是考虑安全问题

    校验提示文案

    提交
    收起所有回复
  • 请教作者一个问题啊。我最近在unraid上折腾反代,先是nginx proxy manager,配置完了测试失败,然后又试着traefik,同样配置完了测试失败。最后发现是unraid网关指向了旁路由openwrt(出国用),把网关改回主路由就好了。但是网关改了,unraid的软件市场又打不开了…推测应该是旁路由的防火墙设置问题,但是不知道怎么改,不知道作者有么有什么建议?

    校验提示文案

    提交
    op设置一百个人一百个方法 每个人网络环境都不太一样 ,一言两语搞不定的 [高兴]

    校验提示文案

    提交
    收起所有回复
  • 请教下,用swag反代unraid,docker安装和更新小窗不显示内容等安装完了才有,是swag哪里需要配置吗?

    校验提示文案

    提交
    没看太明白你的意思 [皱眉] [皱眉]

    校验提示文案

    提交
    你这个不是很正常,swag都重启了,反代当然失效了,装别的docker是不影响的

    校验提示文案

    提交
    收起所有回复
  • “设置authelia子域方式,允许authelia使用子文件夹的方式,并将路径设置与SWAG默认使用的路径同步”
    请问这句如何操作,前面都跟对了,这步卡住了,authelia正常下载后无法启动,网络是选bridge吗?

    校验提示文案

    提交
    authelia需要配置yaml文件 , 这步可以不做 ,那么外网就不能把没有登录密码的swag的后台开出去

    校验提示文案

    提交
    收起所有回复
  • 文章很棒。
    搞得我又想试试了
    其实我这里是想在openwrt的docker里安装,但是没办法照搬教程。
    找了一大圈,也没有更贴近这篇教程的。

    校验提示文案

    提交
    op下用docker建立swag就行 ,后面步骤一样

    校验提示文案

    提交
    收起所有回复
  • 求教大哥,能不能详细说说怎样反向代理局域网内的虚拟机?按照上篇的直接修改了地址报内部服务错误

    校验提示文案

    提交
  • 弄了这个自动代理还需要手动添加conf文件吗,在仪表盘上看到可用,但是Proxied那里都是感叹号,提示找不到Proxy config,打开网站只有swag的默认页面

    校验提示文案

    提交
    破案了,把label搞成env了

    校验提示文案

    提交
    收起所有回复
  • 看了一遍又一遍,发现自己就不是这块料,这里也标记一下 摔得爬不起来。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
110
扫一下,分享更方便,购买更轻松