自建对象存储!黑群晖Docker搭建minio,兜兜转转,终于成功了!

zpdr 334 0

自建对象存储!黑群晖搭建minio,兜兜转转,终于成功了!

自建对象存储!黑群晖Docker搭建minio,兜兜转转,终于成功了!

起因

我一直想搭建一个视频、音乐网站(LTDZ.ORG),但由于服务器带宽较小,我决定使用对象存储。国内有很多值得点赞的免费对象存储服务,比如七牛。注册后就永久赠送 10G 的存储和流量,还有一个月的免费域名使用。当然,对于我和阅读这篇文章的朋友们来说,域名并不缺。但七牛的服务确实不错,于是我顺理成章地注册并使用了七牛。

意外

就在我以为一切顺利时,问题出现了。我的网站配置了 HTTPS,但视频和图片就是无法加载。我反复检查了几个小时,发现问题出在浏览器上。这里涉及到一个概念——

“混合内容”混合内容是指当受 TLS 保护的网站包含通过不安全 HTTP 协议加载的元素时出现的情况

显然,我的网站视频和图片被浏览器屏蔽了。而七牛的 HTTPS 需要绑定自己的域名,而我的域名还在备案中。此外,七牛的 HTTPS 流量也不是免费的。于是我决定放弃七牛,另寻他法。

希望

在我一筹莫展、几乎放弃建站梦想时,找到了新的希望——Minio,自建对象存储。家里刚好有一台黑群晖在运行,用于 24 小时无人直播和搭建 MC 服务器。于是我决定再搭建一个对象存储站。我使用群晖的 Docker 来搭建,但不出意外地,意外再次出现了。群晖的 Docker 搭建的 Minio 一直无限重启,甚至日志也没有报错。查遍资料后,决定在群晖的宿主机上进行搭建。尽管过程并不顺利,但至少日志有了错误提示。经过一番修修补补,终于搭建成功。

但任务远未结束。Minio 的权限设置让我困惑,我希望能设置一个永久外链,且只有只读权限。但 Minio 的权限只有两种:私人和公开。私人谁也不能访问,公开则整个存储桶都可以被上传、读取和删除。这让我很无奈。

解决方案

经过进一步查阅资料,了解到可以设置两个端口,一个用于面板控制,一个用于视频和图片文件的访问。例如:

636.su:123    可以用来访问面板,对视频进行上传,修改,删除。但是这个端口没法播放视频。

636.su:456    可以用来进行视频的播放,下载。但是这个端口没办法对视频文件进行编辑。

虽然存储桶是公开设置,但由于 123 端口只允许内网访问,文件依然是安全的。

这是我目前的理解哈,可能不够正确,系统,完善。有大佬更加了解,欢迎评论区补充!

成果

最终,我为 Minio 配置了 SSL,实现了 HTTPS 访问。家庭云的流量和存储费用基本可以忽略。一个视频网站的雏形就在这兜兜转转中完成了。未来必定会有无数的困难和意外,但我一定不会轻易放弃!

最后,贴上我最终完成部署的 Docker 命令。因为使用的是黑群晖的宿主机,所以理论上都适配,能够简单搭建出来。希望需要的朋友一切顺利,不用再走那么多弯路!

docker run -d \-p 外端口:9000 \-p 内端口:9001 \
--name minio --restart=always --privileged=true \
-v /volume1/docker/minio/data:/data  \ 数据存放地址
-v /volume1/docker/minio/config:/root/.minio  \
-v /volume1/docker/minio/certs:/root/.minio/certs  \ 放crt格式ssl证书
-e "MINIO_BROWSER_DEFAULT_LOCALE=zh_CN" \
-e "MINIO_ROOT_USER=账户(五位以上)" \
-e "MINIO_ROOT_PASSWORD=密码(八位以上)" \
minio/minio:RELEASE.2023-04-28T18-11-17Z server  使用这个版本是因为我的设备硬件比较差,新版本无法使用
/data --console-address ":9001"

 

发表评论 取消回复
表情 图片 链接 代码

分享