Running a home server is kind of a hobby with some benefits. I’ve been doing it for almost two decades, starting out with a Windows machine put together from old parts. Then I upgraded, upgraded some more, and at some point, I ended up with a Mac mini G4 (ah, good times) and finally a Mac mini server 2011, which I purchased around 2014-2015.
I ended up with Apple equipment because it was a good compromise between money, my needs, and my skills. At the time, I was pretty fed up with Windows and wanted to use Linux but fell short on skills. Besides, back in the day, Apple was quite serious about server equipment and server OS – they had separate CDs with server OS – yep, CDs! Unfortunately, that didn’t last, and nearly a decade later, Apple started losing interest in it. After another decade, Apple no longer had server OS or interest in servers.
I’ve been running the Mac mini on OS X 10.13 “High Sierra” for the past six years, past all the releases that no longer support “old” hardware, and I guess quite insecurely. Luckily, I don’t expose my server to the outside world. One of the biggest reliefs was Docker, which allowed me to expand the capability of “High Sierra” and prolong its service. Anyone who has ever used OS X knows it’s really easy to use features and services – smooth sailing. But the moment you want something that doesn’t come with OS X, get ready for some pain and uphill battles – for example, built-in Apache with a PHP module. Fortunately, Docker sidesteps all of that.
Unfortunately, this year, good times came to an end – Docker received a breaking update, and old Docker could no longer find/download new Docker images. Considering Apple releases a new OS every single year, it doesn’t seem to make much sense to support Docker development for a 5-year-old “High Sierra.” So, the time for a tough decision came.
Should I buy another Apple hardware or simply move to Linux and see how far I can get with Ubuntu LTS (Long-Term Support)? I wasn’t keen on buying a new Mac mini – the upfront cost of $1200 is something to consider carefully. The used option is a bit tricky since the Mac mini 2018 is already out of OS X support and, at the same time, can’t be upgraded – on the chip storage. So, I can buy a used pre-2018 Mac mini – which is out of support and hope that Docker will be working fine for a while. Gambling is not my strong suit. Besides, the long-term goal is to move to Linux and different hardware (perhaps Raspberry PI) – so user-friendly Ubuntu it is.
Before installing Ubuntu, I had one last gift to give my already old Mac mini server – SSD drives all around (main and secondary drive). The main drive in the mini was so old that the paper sticker started disintegrating into dust in my hand – an impressive 12 years of service, considering it started giving some trouble recently. The Ubuntu installation was straightforward, and the OS runs fast, blazing fast. I guess 4 cores i7 and 16 gigs of RAM is still a pretty decent setup.
Overall migration went ok, I managed to hit lots of troubles with data transfer, but it was my own mistake – I didn’t prepare, and in my deep ignorance, I thought that Linux and OS X file systems know how to talk to each other properly. Then naturally, I hit issues with permissions and some other small stuff. Once file permissions got straightened out, the only big hiccup was Samba service – which as I learned 6 hours later, does NOT advertise its presence on the local network, like OS X does – silly but yeah. Everything else was more or less ok, thanks to a friend of mine, who knows his way around Linux. I managed to complete the entire migration from start to end in 3 days. Not a bad result, considering I spent nearly one day on data transfer and another day fighting for nothing with Samba service – well, you live you learn.
I’m very excited about Ubuntu; after nearly 2 decades, I’m finally on Linux for my home server. I can definitely say that Ubuntu has progressed a long way. I don’t recall it being this well-refined out of the box before. I’m sure I’ll have to learn some more about Linux and go down to the command line and edit configs with Nano, but hey, in some cases, it is easier than OS X. For example, crontab is so easy I had to ask a friend a couple of times to make sure that I didn’t need to do anything else (OS X requires more work to achieve the same). Backups on Ubuntu are pretty good as well, especially I got impressed by Timeshift. It needs a little bit of configuration out of the box, but it looks a lot more powerful than Time Machine – I mean you make a snapshot, then mess with the OS as much as you want, and then you can rollback everything, including OS updates and configurations – wonderful.
Anyways, the last upgrade to my Mac mini server 2011 is complete, and now I’m wondering how far will it make it. Will it last another couple of years or all the way to its 20th birthday and perhaps beyond? Time will tell.
Haha, I’ve recently bought almost the same Mac mini (2012, but with i5 so it’s more power efficient) and Installed the same 4Tb 870 QVO ssd :) I was very much surprised by the performance, this tiny thing turned out to be the perfect solution for the project (kind of a storage server that’s constantly downloading zoom meeting recordings and saves thousands of dollars for the client on zoom cloud storage) – I can install everything and hand it to the client so he’ll just plug in the ethernet and turn it on. I was so happy with it, that I bought another one to use as a home server – 2014 model with 16Gb and top i5 CPU. You’ve said in the podcast that server version has two disk drives, but I’ve successfully installed two drives into the both minis – it’s just a matter of $10 SATA cable to connect additional HDD/SSD. Couldn’t help myself and disassemble both following ifixit manuals – first time to clean insides and renew thermal paste, second time to install additional SSD. Of course I’ve installed Ubuntu 22 right away and both Minis work perfectly, fast and power efficient – just mind blowing < 15 Watts average.
Very cool, thank you for the post.
Quick question: have you tried Raspberry PI for the same purposes?
I thought about using RPi 4, but decided against that for a couple of reasons:
– it’s very picky about the power source, especially with an external SSD connected, so it would require mildly expensive external power brick
– it would require some kind of custom enclosure with enough cooling to house RPi, SSD, USB to SATA adapter, etc.
– surprisingly, it would be more expensive, at least 1.5-2 times more expensive
– it would look too ‘hacky’ for the customer, who paid the money for the solution, so I really liked the idea of a single box with Apple logo that just works )
I’m happy to use RPi at home, but I thought it wouldn’t be the right tool for that particular project.
BTW, I opensourced the code of that zoom records server on my github (I put the link in the website field here in the form), as well as the previous project I wrote for my home RPi
Just listened to the podcast today, regarding your question about Raspberry Pi – if I used it with Ubuntu. Yes, I’ve used the very first RPi from the very first batch from the day it came out for various tasks – mainly Pi Hole and Transmission. And since the October of last year I use Raspberry Pi 4 (4 Gb) with Ubuntu 22 installed. Using it as a desktop PC – to browse some web and edit some code in Visual studio code is a painful experience, because it’s very slow in such scenarios. Play fullHD youtube video with the bitrate above 30Mb/s? Forget it.
So I tried it for some time, and gave up, even disconnected the monitor from it, and now I’m using it as a headless server – to host a couple websites, Pi Hole, Transmission, Samba server (so I can watch torrented movies with VLC from my phone) and a bunch of useful services – this turned to be a much more fitting role for the Pi.
Learned using GPIO from Golang on this Pi and spent lots of lovely hours with Linux as well )
btw, If you decide to buy one, I recommend you to stick to the 4 Gb version, don’t chase the 8 Gb one. And turn off the swap. And buy the fastest SD card for the system, like SanDisk Extreme – 64 will be plenty enough
Thank you, very interesting.