Why the Apple Mac mini is a Disaster as a Headless Server
UPDATE Dec 30, 2021: I needed to move the Mini to another location. Same problem—effectively bricks itself by booting up into recovery mode, making it inacccessible and unusable until a display is connected and it can be unf*cked.
UPDATE Feb 1 2022: power failed overnight. The mini rebooted, but it could not be pinged and remote access unavailable and no ssh, etc. A useless brick, powered up but totally useless. Hooking up a display, the display would not sync. So forcing a hard reboot with the display and keyboard/mouse attached, it booted up but was not pingable or remotely accessible until I logged in on the machine itself (display + keyboard + mouse). I could watch this happen; it is beyond stupid, beyond absurd. It makes the Mac mini useless as a server—a server has to be accessible after a reboot so it can be remotely managed. A machine allegedly excellent for a remote server that cannot be used that ways!
The Apple Mac mini with macOS Mojave is a disaster for a server because it cannot be relied upon to boot up without entering some mode which renders it unreachable by remote access (Apple Remote Access, ssh, even ping). Because it halts the boot process in some idiotic “help” mode. For a remote server in a server room, it might as well be a brick when that happens.
My 2018 Mac mini has failed me repeatedly, by failing to boot normally. I do not dare do a Restart (and hence no software updates) without being at home with it in case it fails, as it often does. It also has severe problems trying to sync up with an external display (NEC PA271Q and/or NEC PA302W). Which means you have to force-reboot it, which means it won’t boot up normally.
- Restart/reboot Mac mini using Apple Remote Access.
- No more Mac mini! No remote access, no ssh, cannot even be pinged.
In other words, it turns itself into a de facto brick until you can locally fix things by attaching a display and keyboard and mouse.
I was home yesterday when this happened. No idea what it had done. But it is repeatable. All you have to do is have a power failure, and you are SOL.
But with it unresponsive, I decided to forcibly power it off, hoping it would boot up normally. But it turns out that is even worse! As I discovered when I dragged a display out of my garage and finally got it to sync up, the Mini had aborted booting up and entered its "no keyboard or mouse" mode, which means it doesn’t boot at all. Without a display, you cannot see this! And since it is not booted-up, you cannot remote access it, ssh to it, or even ping it.
Plugging in the keyboard and mouse meant disconnecting key data drives—it has a miserly two USB-A ports. But ya gotta do what ya gotta do. There the Mini sat, idiotically demanding a keyboard and mouse.
Plugging-in the keyboard and mouse and clicking “Back”, the Mini helpfully offered to reset my password. WTF? I had no need of that, I just wanted this f*cking turd or computer to boot up normally. Which it did once I canceled out of this inane process. Why did it not just boot up properly the first time and the second time? Dunno.
With the keyboard, mouse, display all connected and the Mac mini booted up, I decided to see what would happen; I did another Restart. This time, it took me 10 minutes to get the display to sync up. Nothing would work; I must have plugged unplugged the cable a dozen times. So I had to force power-off the Mini again, to force a reboot, whereupon the display synced up instantly. displaying the same “do you want to reset your password” non-usable bullshit again. Design insanity.
This might all be OK in a home/office environment where you can lug a display out of the garage (and hope it syncs/works), go find a keyboard and mouse, and schlep all that to the Mini. A hassle, but can be done. But down in a secure server room with a man-trap and guard with a gun a 45 minute drive away and 90 decibels inside, doing server diagnosis is about as stressful as it gets, a half-day disaster, especially if it is a 300 mile drive home. And that assumes you have the display, keyboard, mouse lying around to hook up, and you can get it all attached easily (not so easy).
Yeah, I know that “your” Mac mini works fine... are you running it headless in a server room? Restart it and see if the fun begins. Yeah, I know, “works for me”. But mine doesn’t.
So... I am ready to throw the Mac mini into the trash bin (after removing 64GB OWC memory), as this is not the first time this confusing disaster has occurred. But I have $1600 into it, plus the memory. Anyone want to buy a Mac mini from me?
Reader Jack B writes:
Yeah, this is why I don’t run headless for my server (even though it is at home). I even tried one of those “headless dongles” from OWC to fool it into thinking there was a display but it didn't help.
While it won't mitigate all issues, you might consider what I have done - I don't run anything directly on the server - I run my actual server in a VM. That way I can reboot it without losing access to the physical hardware remotely (It’s in my house, but buried in the “server room” in the basement, behind a lot of storage, so I prefer not to go in there if I can avoid it.)
I still have a monitor (1920x1080 - I have found that my old Macs won’t always sync with anything other than plain old HD monitors) and keyboard/mouse hooked up to each physical server (2 - a Mini and a 1st Gen Mac Pro) because of the problems you described.
MPG: the only reason to reboot my git server is for a base-system update, so a VM would not help. Plus a VM chews up a lot of extra memory, and 16GB is already an issue.
Reader Samuel H, an IT specialist, writes:
IMHO El Cap came closest to Snow Leopard in reliability. Mojave is next. Catalina is a dumpster fire.
Sadly, three of my 4 main Macs are stuck at Catalina. My MBA runs Big Sur but not Monterey. My MacPro5,1 runs Mojave, which I'll stick with until it dies because it has 96GB RAM. I'll soon use a Parallels VM to run Big Sur or Monterey. I'd run Snow Leopard except there's no modern browser nor email reader.
Although I've been a Mac guru since 1986, I've become one of the disillusioned naysaying curmudgeons. Tim Cook has done a great job for the shareholders but a crappy job for Mac users. It's a sad day when intelligent sane people can debate whether macOS is more reliable than Windows.
I'd use Linux but the GUI is just to limiting. Not having crashes isn't worth not being productive. If only my Macs were as reliable as my Raspberry Pis are.
With all the security theater and macOS morphing to iOS, fixing Macs is becoming as odious as fixing Windows.
That said: you read about the mdworker files killing Mojave to Big Sur installs? I wrote a script to clean out mdworker data, I successfully upgraded one Mac at a client remotely. I'm upgrading a second right now. Hopefully the success rate will be 100% so I can remotely upgrade the remaining Macs.
MPG: my web server is on macOS El Capitan. Rock solid, at least if the memory hasn’t gone bad! And never needs updates.
Reader Holger H writes:
First, thank you for your blog, I really enjoy reading about those things your doing/experiencing and many of those also happened to me.
Now as I have several MacMinis I use with remote access on one of those I had difficulties with the connection in the past too. What I always do first now is turning off bluetooth. I'm pretty sure that was the source of pain when being locked out. The MacMini was stuck in "I don't have a keyboard"-mode because the system somehow recognized the missing USB one and locked while searching for the bluetooth one. My standard setup is a MacMini in a customers rack, only HDMI-4K dongle and GB-Ethernet connected. I use those for more than 10 years now for remote development (heavy in FileMaker :-)) with different flavours of the MacMini. In my home office I have KVM switches with MacMinis connected to each and I rarely touch them doing all work from one remote computer. One of those is even running from an external Thunderbolt-drive that hasn't let me down yet. At my customers sites when using a MacMini as a database server (24/7 of course) those are not connected to anything more than network plug and HDMI-dongle. So I would always run a headless MacMini with a) Bluethooth turned off, b) a HDMI-dongle and c) wired network via Ethernet. Keep up your great work and best regards.
...I have two MacMinis late 2018, one of them being my main workhorse at the moment. The other is a testing machine I only use remotely. In the beginning I also struggled with remote access to that one but it got somehow healed?! Maybe something was fixed with the latest ARA version or any Catalina Update. In the last year it didn't give me any trouble. Speaking of vintage I own 12 different Minis from the 2009 CoreDuo up to the latest M1. My alltime favorite was the 2014 with the Apple SSD (already NVMe form factor). That one even outperformed my MacBook Pro on several tasks at its time. The M1 is great but we are all waiting for more memory and a faster CPU - or at least I am.
MPG: the Bluetooth tip is a good idea, but Bluetooth is and was off on my 2018 Mac mini—not involved. For security reasons, I disable all unused everything I can on all my computers particularly my servers. In spite of that, Apple still presents the keyboard/mouse demand when it gets into recovery mode. I suppose it does so rather than wired keyboard/mouse because Apple no longer makes wired versions. I also use only gigabit ethernet.
The 2018 Mac mini might just be a bad vintage. It has drastic problems like not being able to sync with a display unless rebooted (never fixed as of Nov 2021!), at least one hardware design defect eg interference from WiFi causing Thunderbolt disconnects, and inability to use an eGPU (fixed?).