Tags: HomeLab, MacMini
Created At: 2025年5月15日 1:14 (GMT+8)
自从五一期间买了国补优惠后的 Mac Mini,就一直在折腾macOS 和NAS 系统的路上,这一阵子折腾下来花了不少时间,也踩了很多坑,甚至在这期间,刷机医衍生剧等待更新的空档中把机医一、二又重新刷了一遍,真的很非常好看的剧,希望下次再刷的时候,可以有人陪我。
说回正题,当时买Mac Mini 就是因为自己被各种博主种草说可以当 NAS 用,fnOS 的热度也很高,刚好赶上国补优惠非常大,16+256 的M4 Mac Mini 优惠算完之后只需要2899,这才冲动在半夜下了单。
这几天也简单体验了 Mac Mini ,虽然早在大学的时候就折腾安装体验过黑苹果,但白苹果还是第一次上手。其实安装CasaOS 本身很简单,反倒是折腾上面的各种应用花了些时间,是个辛苦活。
简单展示下成果:
然后罗列下本次 HomeLab 组建的硬件和花费,以及具体安装了哪些应用或者服务:
- alexblue's MacMini M4
- orbstack —— 轻量级 docker 管理器以及 Linux 虚拟机
- Debian —— orbstack 虚拟机,方便安装 CasaOS
- CasaOS —— 轻 NAS 系统(是系统也不是系统)
- HomeAssistant —— 开源智能家居管理
- Homarr —— Allinone 管理面板
- Alist —— 挂载本地硬盘和各种网盘,NAS 好搭子
- Nextcloud —— 本地部署的网盘,虽然很多人说性能差,但是目前还没有找到更合适的,seafile 还在折腾中,部署完对比下再决定是去是留
- Syncthing —— 局域网文件同步神器
- Aria2+AriaNG —— 多功能下载工具
- AutoBangumi —— 自动追番工具
- Cloudflared —— 内网穿透工具,也还在抉择不同的方案,最终方案前的暂时方案
- dash. —— 硬件信息展示监测
- Grafana —— 开源数据可视化工具,可以用来可视化 Strava 运动数据
- Hasspanel —— HomeAssistant 第三方面板,配合 HA 有奇效
- Jellyfin —— NAS 家庭媒体服务器
- Plex —— 同上,但是 Plex
- UptimeKuma —— 网站、服务状态监测
- PostgreSQL —— 数据库
- pgAdmin4 —— 数据库管理面板
- qBittorrent —— 强大的 Bittorrent 下载工具
- 1Panel —— 服务器管理面板,方便管理应用与服务
- dpanel —— docker 管理面板,方便管理 docker
目前安装应用或者服务就这么多,大部分应用都配置完成了,但还有极个别应用,有这样或者那样的问题。然后就是安装过程中的一些问题和对应的解决办法:
“unacceptable file type, only regular file is……”
docke r配置 qbittorrent 的webui时的绝对和相对路径不符 ,导致自定义webui放入 config目录 后,在qb软件内定义的路径/config/yourwebui
是错误的路径,所以报错了。
配置 qBittorrent webUI 的时候如果遇到更改完无法进入后台的情况,一般是 UI 文件的路径填错了,可以直接搜索 qBittorrent webui false true ,然后根据步骤解决:
如果需要一键恢复的话,则需要更改 qbittorrent.conf
配置文件路径参考:
/xxx/xxx/config/qBittorrent/qBittorrent.conf
将 WebUI\\AlternativeUIEnabled=true
改为: WebUI\\AlternativeUIEnabled=false
保存后重启
配置 Jellyfin 的时候有一个大坑,是关于docker 网络选择的部分,不知道是我第一次安装的时候手贱选了一下还是什么,当然也有可能是 CasaOS 应用商店本身的提供的docker 镜像有问题。本来安装 Jellyfin 服务端的话,网络应该选择 host ,但是如果你选择 bridge 的话,Jellyfin 会映射几个端口出来,这时候如果你安装完,CasaOS 默认会将 Web UI 的端口设置为8097,这时候如果你点击 Jellyfin 图标访问,打开的会是一个客户端而非服务端,只有添加服务器的选择,无法注册登录,当然也无法管理自己的资源。
解决方法就是将 docker 的网络选项改为 host ,并把 Web UI 的端口设置为8096,然后再访问 ,这时候进入的就是服务端的界面,然后按照引导注册登录创建就可以了。
AutoBangumi 在配置完成之后本来是可以正常用的,然后发现每次重启虚拟机之后都会出问题,然后服务就掉线了。
疑似是因为docker 端口的问题,试过好几次,同时安装 AutoBangumi 和 Aria2+AriaNG,重启后服务必挂,有时候是前者,有时候是后者,有时候两者都挂,搞不懂。
最后谈一个最大的 bug,还是重启后应用消失的问题,配置完成之后我尝试性重启过几次机器,每次重启完,通过 CasaOS 安装的应用都有几率直接消失,固定的几个比较容易挂掉和消失的应用:pgAdmin4、AutoBangumi、Aria2+AiraNG。
缘起于我在 B 站刷到 MacMini M4 安装 fnOS 的视频,恰巧之前又听过 MacMini 性能很强的论述(后证实性能确实很强),然后加上自己之前一直是通过一年还是两年前买的 R2S 折腾各种各样的服务,由于R2S 性能和硬件本身就比较孱弱,就一直有想换一台硬件做 HomeServer 的想法。
说来也巧,这段时间我至少看到 MacMini M4 的价格跌了好几百块钱,从刚开始的 3000出头拿下 MacMini,到后来跌破3000,后来索性直接干到了2899,我是真的坐不住了,然后就半冲动半理性地下了单。
到手之后就遇到了第一个问题,直到安装 fnOS 的时候我才意识到自己买了一台 Arm 架构的设备来折腾 fnOS,因为我也是在安装的时候才知道 fnOS 没有arm 版本,非要安装的话只能通过 UTM 模拟 x86 运行,模拟性能很差。
如果只是性能差,其实我都能忍,因为 MacMini 最不缺的就是性能,装个 NAS 还是绰绰有余的,模拟性能损失差能差到哪里去,我这么安慰自己。
安装完 fnOS 之后我遇到了第二个问题,UTM 根本无法识别我的 SSD。后来在促使我下单的那个 u主视频的评论区我才了解到,原来 UTM 不支持模拟 TypeC口接入的硬盘,而我的 SSD 就是通过 MacMini 上的雷电口接出来的(其实我也不太理解关于拓展坞接口这块,关于 SSD 的 M.2 接口到底算什么口,反正就是无法模拟,无法挂载),我尝试在 USB-A 口插了一块 U盘是可以正常挂载的,于是只能作罢。
fnOS 的其他方面做的倒是还行,管理界面UI很简洁,功能倒也还行,各端的app 都比较齐全,影视app 据说刮削效果还不错,我因为无法挂载硬盘所以也就大概体验了个皮毛,没往更深处研究。
性能方面,在体验的过程中,能看出来这是个新系统,优化不太好,每次我打开 NAS 管理面板首页,CPU 占用率就会飙升,而且本身也可能因为模拟性能差的原因,我安装的 immich 在后台进行处理的时候,cpu 占用率拉满,内存占满,活动管理器飙红,感觉UTM 模拟X86的性能确实还是蛮差的。
无奈之下,我只能将目光转向其他系统。
这就是文章标题的由来,安装并体验 CasaOS。严格意义上来讲我其实安装了两遍 CasaOS,第一遍安装完了之后我发现macOS 活动管理器磁盘读写分类下有一个进程读写磁盘异常频繁,甚至到了TB/天的程度,无法让人忽视,于是我又各种查资料,最后GitHub 仓库有条 issue 说重装可以解决。
于是照做,结果就是——无用,没有任何作用。
简单体验了几天CasaOS,感觉优势劣势都很明显。优势就是这个图形界面,对于没有折腾过 docker 但是又想体验所谓轻 NAS 的用户而言,这个 UI 多少还算友好,点点点的操作配置 docker 算是个还说得过去的优雅选择。
但是这几天简单体验下来,我觉得这个“简单”和“省心”很多时候是要打上引号的,这几天的折腾过程中,我假装没有一点 Linux 知识的话,这个流程就显得没有那么省心了,因为就比如我上面所说的问题,通过 CasaOS 安装的有些应用重启后直接消失了,他就是消失、不存在了,甚至拉取到本地的镜像都没了,更别说是docker 的运行日志,系统的运行日志之类的,真的是想找问题的源头,想解决都没有头。
这种莫名其妙的错误比你软件用到一半突然挂了还让人恶心和难受,因为没有任何日志可以追溯,就是莫名其妙的应用消失了,对应到这个产品的定位 ——轻 NAS “系统”,我觉得这种问题的 bug 是不可接受的,如果是系统本身的行为,你至少要提示用户,是什么问题,如果不是,这个系统出了这么多年,如果真的是我第一次使用就遇到了这个问题的话,那我真的不知道说什么了。
然后最后谈一个槽点,我手动安装或者通过其他管理面板比如1panel、dpanel 安装的 docker,在 CasaOS 面板首页的显示效果是这样的:
我不清楚CasaOS 这是什么意思,说白了 CasaOS 本身也只是依附在 Debian 上的一层软件层而已,远远称不上 “OS” 大名,现在我手动安装的应用在你的面板显示“旧应用程序”,而且无法通过面板直接打开,我觉得有点喧宾夺主。
换我说要么你就不要显示在这里,我自己手动安装的应用,docker 各种映射、路径什么的和 CasaOS 差别很大无法完全正确显示,你不显示我反倒能理解。现在你显示在你的面板,然后告诉我这是旧应用程序,我还无法直接点击图标打开我的服务,点击会直接重装你的商店中的版本。就好像你在告诉我,你的商店中的内容是“正统”,用户手动安装的就是“旧版”,很奇怪也很无法理解。
接下来不确定是要换个系统还是缝缝补补先用着,可能现在的当务之急是将通过CasaOS 面板安装的应用和服务手动安装迁移一遍,毕竟没有人想重启后自己的应用和服务都消失了。
那大概就先到这里,再见!