banner
瑞瑞蓝

瑞瑞蓝

你的气质里,藏着你读过的书、走过的路和爱过的人。
email
x
tg_channel
github
jike
steam
douban

fnOS Experience, Mac Mini M4 Installation and Configuration CasaOS Pitfall Guide

fnOS Experience, Mac Mini M4 Installation Configuration CasaOS Pitfall Guide#

Tags: HomeLab, MacMini
Created At: May 15, 2025 1:14 (GMT+8)

I. The fucking All-in-one Homelab is here#


Since buying the Mac Mini during the May Day holiday with a national subsidy discount, I've been tinkering with macOS and NAS systems. This period of experimentation has taken quite a bit of time, and I've encountered many pitfalls. During this time, while waiting for updates on the firmware, I even re-flashed the firmware for both versions one and two again. It’s really a very good show, and I hope someone can accompany me next time I re-flash.

Back to the point, I bought the Mac Mini because I was influenced by various bloggers saying it could be used as a NAS. The popularity of fnOS was also high, and I happened to catch a significant national subsidy discount. After the discount, the 16+256 M4 Mac Mini only cost 2899, which made me impulsively place an order in the middle of the night.

In the past few days, I have also had a simple experience with the Mac Mini. Although I had tinkered with Hackintosh during college, this is my first time using a genuine Mac. In fact, installing CasaOS itself is quite simple; rather, it took some time to tinker with the various applications on it, which is a laborious task.

Here’s a simple showcase of the results:

d1659cd1f2de9c4dc0a29c8fd2b94cd0.png

Next, I will list the hardware and costs for this HomeLab setup, as well as the specific applications or services installed:

II. Hardware#


  • MacMini M4 16g+256G version PDD price: 2899 yuan
  • Haibeisi MacMini M4 docking station JD price: 299 yuan
  • Baiwei NV7400 SSD JD price: 834 yuan

III. Software#


- alexblue's MacMini M4
	- orbstack —— lightweight docker manager and Linux virtual machine
    	- Debian —— orbstack virtual machine, convenient for installing CasaOS
    		- CasaOS —— lightweight NAS system (it's a system but not really a system)
    		- HomeAssistant —— open-source smart home management
    		- Homarr —— All-in-one management panel
    		- Alist —— mount local hard drives and various cloud drives, great for NAS
    		- Nextcloud —— locally deployed cloud storage, although many say the performance is poor, I haven't found a more suitable one yet; seafile is still being tinkered with, and I'll decide after comparing once deployed
    		- Syncthing —— local network file synchronization tool
    		- Aria2+AriaNG —— multifunctional download tool
    		- AutoBangumi —— automatic anime tracking tool
    		- Cloudflared —— internal network penetration tool, still deciding on different solutions, a temporary solution before the final one
    		- dash. —— hardware information display and monitoring
    		- Grafana —— open-source data visualization tool, can be used to visualize Strava exercise data
    		- Hasspanel —— third-party panel for HomeAssistant, works wonders with HA
    		- Jellyfin —— NAS home media server
    		- Plex —— same as above, but Plex
    		- UptimeKuma —— website and service status monitoring
    		- PostgreSQL —— database
    		- pgAdmin4 —— database management panel
    		- qBittorrent —— powerful Bittorrent download tool
    	- 1Panel —— server management panel, convenient for managing applications and services
    	- dpanel —— docker management panel, convenient for managing docker

PixPin_2025-05-27_18-59-24.png

Currently, there are only this many applications or services installed. Most applications have been configured, but there are still a few applications with various issues. Now, here are some problems encountered during the installation process and their corresponding solutions:

IV. Problems/Errors Encountered During Installation and Solutions#

1. qbittorrent under docker enabling alternative webui error "unacceptable file type, only regular file is..."#

The absolute and relative paths for configuring qbittorrent are inconsistent, causing the custom webui placed in the config directory to have an incorrect path defined in the qb software as /config/yourwebui, resulting in the error.

2. qBittorrent webui false true#

When configuring qBittorrent webUI, if you encounter a situation where you cannot access the backend after making changes, it is usually due to an incorrect path for the UI files. You can directly search for qBittorrent webui false true and follow the steps to resolve it:

If you need to restore it with one click, you need to change qbittorrent.conf

Configuration file path reference:

/xxx/xxx/config/qBittorrent/qBittorrent.conf

Change WebUI\\AlternativeUIEnabled=true to: WebUI\\AlternativeUIEnabled=false, save it, and restart.

3. Jellyfin Configuration#

When configuring Jellyfin, there is a major pitfall regarding the selection of the docker network. I don't know if I accidentally selected something during my first installation, or if it could be an issue with the docker image provided by the CasaOS app store. When installing the Jellyfin server, the network should be set to host, but if you choose bridge, Jellyfin will map several ports. If you install it this way, CasaOS will default the Web UI port to 8097. If you click the Jellyfin icon to access it, you will open a client instead of the server, only having the option to add a server, unable to register or log in, and of course, unable to manage your resources.

The solution is to change the docker network option to host and set the Web UI port to 8096. Then access it, and you will enter the server interface, where you can register and log in according to the prompts.

4. Other Issues#

AutoBangumi was supposed to work normally after configuration, but I found that every time I restarted the virtual machine, it would have issues, and the service would go offline.

It seems to be due to docker port issues. I tried several times, installing AutoBangumi and Aria2+AriaNG simultaneously, and after a restart, one of the services would always crash—sometimes one, sometimes the other, and sometimes both. I couldn't figure it out.

Lastly, I want to mention a major bug: the issue of applications disappearing after a restart. After completing the configuration, I tried restarting the machine a few times. Each time I restarted, the applications installed through CasaOS had a chance of disappearing completely. The few that are prone to crashing and disappearing include: pgAdmin4, AutoBangumi, Aria2+AiraNG.

V. fnOS, CasaOS Tinkering Experience#

It all started when I saw a video on Bilibili about installing fnOS on the MacMini M4. Coincidentally, I had previously heard discussions about the strong performance of the MacMini (which was later confirmed to be indeed very strong). Coupled with my previous experience of tinkering with various services using the R2S I bought a year or two ago, I had always wanted to replace it with a more powerful hardware for a HomeServer due to the R2S's weak performance and hardware.

Interestingly, during this time, I noticed that the price of the MacMini M4 had dropped by several hundred yuan. From initially getting the MacMini for just over 3000 to later dropping below 3000, and then finally down to 2899, I really couldn't sit still, and impulsively placed an order.

1. Unsatisfactory fnOS#

Upon receiving it, I encountered the first problem. It wasn't until I was installing fnOS that I realized I had bought an Arm architecture device to tinker with fnOS, as I only found out during the installation that fnOS does not have an arm version. If I wanted to install it, I could only run it through UTM simulating x86, which has poor performance.

If it were just poor performance, I could tolerate it because the MacMini is not lacking in performance; running a NAS is still more than sufficient. How much performance loss could simulation cause? I comforted myself with this thought.

After installing fnOS, I encountered the second problem: UTM could not recognize my SSD at all. Later, I learned from the comments section of the video that prompted my order that UTM does not support simulating hard drives connected via Type-C, and my SSD is connected through the Thunderbolt port on the MacMini (I don't quite understand the docking interface part; I don't know what kind of port the SSD's M.2 interface counts as, but it just cannot be simulated or mounted). I tried plugging a USB flash drive into the USB-A port, and it mounted normally, so I had to give up.

Other aspects of fnOS are quite good; the management interface UI is very simple, and the functionality is decent. The apps across different platforms are quite comprehensive, and the media apps are said to scrape well. However, since I couldn't mount the hard drive, I only experienced it superficially and didn't delve deeper.

In terms of performance, during the experience, it was clear that this is a new system with poor optimization. Every time I opened the NAS management panel homepage, the CPU usage would spike, and it might also be due to the poor performance of the simulation. When I installed immich, the CPU usage maxed out, memory filled up, and the activity monitor turned red, indicating that UTM's simulation of x86 performance is indeed quite poor.

Helplessly, I could only turn my attention to other systems.

2. CasaOS#

This is the origin of the article's title: installing and experiencing CasaOS. Strictly speaking, I actually installed CasaOS twice. After the first installation, I noticed that there was a process in the macOS activity monitor under disk read/write that was reading and writing to the disk abnormally frequently, even reaching TB/day levels, which was impossible to ignore. So, I searched for various information, and eventually found an issue on the GitHub repository stating that reinstalling could solve it.

So I did as suggested, but the result was—useless, it had no effect.

PixPin_2025-05-24_11-46-57.png

After a few days of simple experience with CasaOS, I felt that its advantages and disadvantages were quite obvious. The advantage is that this graphical interface is relatively friendly for users who have never tinkered with docker but want to experience a so-called lightweight NAS. The point-and-click operation to configure docker is a somewhat elegant choice.

However, after these few days of simple experience, I feel that this "simplicity" and "worry-free" often need to be put in quotes. During the tinkering process, if I pretend I have no Linux knowledge, the process does not seem so worry-free. For example, some applications installed through CasaOS directly disappeared after a restart; they just vanished, did not exist anymore, and even the pulled local images were gone, let alone the docker running logs and system logs. It was truly frustrating to try to trace the source of the problem and find a solution.

Such inexplicable errors are more nauseating and uncomfortable than software crashing halfway through because there are no logs to trace; the applications just disappear inexplicably. Corresponding to the product's positioning—light NAS "system," I think such bugs are unacceptable. If it is the system's behavior, at least you should inform the user about the issue. If not, this system has been around for many years, and if I encountered this problem on my first use, I really wouldn't know what to say.

Lastly, I want to mention a complaint: the docker installations I performed manually or through other management panels like 1panel or dpanel show up like this on the CasaOS panel homepage:

PixPin_2025-05-27_19-07-11.png

I am unclear what CasaOS means by this. To put it bluntly, CasaOS itself is just a software layer dependent on Debian, and it hardly qualifies as an "OS." Now, the applications I installed manually show up as "old applications" on your panel, and I cannot directly open them through the panel. I find this a bit overstepping.

If I were to say, either don't display them here; the docker mappings, paths, and so on for the applications I installed manually differ greatly from CasaOS, so I would understand if you didn't display them. Now you show them on your panel and tell me they are old applications, and I still cannot directly click the icon to open my service; clicking will directly reinstall the version from your store. It’s as if you are telling me that the content in your store is "authentic," while the applications installed manually are "old versions," which is quite strange and hard to understand.

Next, I am uncertain whether to switch systems or patch things up for now. Perhaps the immediate priority is to manually migrate the applications and services installed through the CasaOS panel to manual installations, as no one wants their applications and services to disappear after a restart.

That’s about it for now, goodbye!

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.