又一款集大成的开源nas系统,更着重于安全访问和一键式容器管理
前言
大家好,这里是可爱的Cherry。
今天继续给大家带来一款开源的nas系统:cosmos-server。该开源系统主打的是访问安全,除了常规的导航页、应用商城、容器管理、性能监测面板等功能外,重点更多放在容器安全管理、访问安全、服务器安全、单点登录、虚拟网络代理上。
🔻不建议不擅长网络设置的值友折腾

Cherry试用了一下,折腾了大概3天吧,体验上来说非常不错,唯一的缺点是没有自带存储管理,需要安装文件管理容器,但这只是多了一个安装步骤而已。
🌟先放官方发布的开源OS对比图:

🌟cosmos-server通过建立一个虚拟网络,将客户端和服务器连接,可以确保不映射任何tcp端口的情况下访问服务:

系统部署
一、Docker Cli部署
【80端口】:HTTP端口,自定义设置,这里为16680
【443端口】:HTTPS端口,自定义设置,这里为16443
【4242端口】:UDP隧道穿透端口,自定义设置,这里为4242
【路径1】:配置文件路径,自定义设置,这里为/mnt/user/appdata/cosmos/config
🔻最终的docker cli指令如下,通过ssh登录linux系统后,在root权限下运行
docker run -d -p 【80端口】:80 -p 【443端口】:443 -p 【UDP端口】:4242/udp --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /:/mnt/host -v 【路径2】:/config azukaar/cosmos-server:latest
#最终指令如下
docker run -d -p 16680:80 -p 16443:443 -p 4242:4242/udp --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /:/mnt/host -v /mnt/user/appdata/cosmos/config:/config azukaar/cosmos-server:latest
二、群晖部署
🔻群晖—任务计划—新建,将以下代码复制进去修改。然后权限设置为root,是否运行改为否。完成后点运行即可。
docker run -d --privileged --name cosmos-server
-p 16680:80 -p 16443:443 -p 4242:4242/udp #自定义修改80,443,4242端口路径
-h cosmos-server --restart=always
-v /:/mnt/host
-v /var/run/docker.sock:/var/run/docker.sock
-v /mnt/user/appdata/cosmos/config:/config #自定义配置文件目录
azukaar/cosmos-server:latest
系统使用
一、系统初始化

🔻第一步:安装docker,如果已经安装过了,则点下一步。

🔻第二步:链接数据库,项目采用mongDB,建议选第一条,点击connect新建。如果nas本身有mongDB了,可以选第二条填入数据库URL。

🔻第三步:网络设置,如解析域名、自定义/申请https证书等。Hostname处可以填域名或IP,这里很关键,因为只可以访问填了的域名/IP。以下为域名举例。

🟡ssl证书获取的方式很全了,也可以直接使用http

🔻第四步:创建管理员账号密码,并完成安装。

🔻第五步:(可选)我在测试应用商城容器的时候,发现默认80端口会造成一些问题,导致WEB-UI有时候无法访问,因此建议将默认的80/443端口进行修改。并且重建容器(回到第一步,将端口映射后面的80,443改为你修改的端口)

🟡如果重建容器后,无法访问的,来到./config文件下,看看cosmos.config.json里的http端口有没有修改,没有的话修改一下再重启容器。

二、容器应用商城
🔻应用商城。数了一下大概100出头个应用。

🔻一键安装应用。以萤火虫3为例

🔻应用容器修改页面。类似unraid,可直接修改环境变量、卷等信息

🔻安装进度条

三、服务器与应用级监控
🔻服务器级监控。包括CPU、内存、网络、路由情况。

🔻容器监控。包含日、时、实时数据,存储使用情况、网络使用情况等。

🔻容器管理。

四、安全免费的外部访问
🔻cosmos提供了一款专用的内网穿透软件,可以在不打开任何应用端口的情况下连接到服务器应用,只需通过之前设置的4242UDP端口。还提供了DNS去广告啥的小功能。
🟡该功能说将于1月底测试结束(发现太晚了!),但是看状态会继续持续一段时间。

🔻新建内网隧道

🔻客户端支持列表,除了IOS端,其它客户端都已经支持。

🔻新建许可,即允许访问内网隧道的客户端列表,新建完成以后有配置文件和二维码,客户端安装以后加载配置文件即可

🔻成功建立隧道穿透服务,相关端口我已在防火墙中关闭,依旧可以通过隧道连接,测试可用。

五、容器路由(安全访问)
🟡这是这个项目最有意思的地方。cosmos将反代集成到了导航内部,我们在新建容器的时候无需映射端口,只需要增加cosmos到容器的路由即可。
🔻同时还支持通过不同的路由方式,如ServAPP、反代、路径、静态页面、重定向等。可以支持定义到任意服务器能访问到的设备上设置为导航。
不建议折腾,不建议折腾,如果你对网络路由不是很清楚的,这块不建议折腾。当个导航页用就成了。

🔻以安装jellyfin为例,具体操作一个看看。

🔻查看创建明细,没问题点create创建

🔻首页导航。已经增加了jellyfin(彩色代表可访问),查看路由可以看到整个路由的访问策略。


最后
因为时间有限,很多功能Cherry还没有进行更深入的研究,例如代理的灯塔模式,应用部署安全等。
但从简单三天的接触来看,上面提到的每个功能都是做的比较深入的,有些甚至比专业的特定类软件做的还要好。
有兴趣的朋友可以持续关注一下,因为该项目还没有发布正式版(先下版本号0.4.7),期待有更进一步的表现。

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案