Six Colors
Six Colors

by Jason Snell & Dan Moren

This Week's Sponsor

End users aren't your enemy! Kolide gets users to fix their own device compliance problems–and unsecure devices can't log in. Click here to learn how.

By Jason Snell

How I use my home server

Note: This story has not been updated for several years.

Intel NUC server sitting atop my old Mac mini.

I’ve written about the Mac server I keep in my house so many times that I sometimes forget that people don’t keep a catalog of everything I’ve written in a database somewhere, tagged by topic.1 So when I wrote about using a hacked Intel NUC as a replacement for my Mac mini server last week, I got a bunch of questions about what I was using my server to do.

Fair enough. I’ll explain, but first let me tell you a little about the history: I’ve been running a Mac server since before there was a Mac mini, back when I first got a dedicated Internet connection for the first time. (It was DSL, and for the decade I had it, it went from being miraculously fast to horrendously slow.) My first server was a beige Power Mac G3 I picked up from an employee sale at Macworld, and it was replaced by my Power Mac G4 when I migrated to a G5. The G4 was replaced by the first Mac Mini, then an Intel Mac Mini, and finally by a Core 2 Duo model.

In the mid-90s I co-wrote a book about using Mac OS as a server, so the moment I could have a server in a closet in my house, I did it. In the early days I used it as a web server (for InterText, my fiction magazine. I used FileMaker to build a few web databases, including a home-built app that let me run a fantasy football draft before there were web-based tools that let you do that.

I also ran my own email server for a while, using MailShare (later Eudora Internet Mail Server), a remarkably robust Mac email server. In the end I gave up and switched to Gmail for all of my mail, not because MailShare let me down, but because the sheer volume of spam connections to my mail server were swamping my slow DSL connection. (Plug for an occasional podcast sponsor: If I had been using MailRoute to pre-screen my inbound mail, I could’ve kept running it.)

Over the years all of those uses fell away, but new ones replaced them. For years it’s been really convenient to have an always-on computer somewhere on my local network, attached to a large hard drive (or multiple hard drives), containing my media library. In the early days, that meant thousands of MP3s. iTunes and the Slim Devices media server meant that I could play anything from my music collection on a laptop or my stereo. These days my music streams over the Internet, but I’ve still got a sizeable collection of video files that are served up to my various devices via the Plex server. I also store a lot of large archival data sets—old podcast projects, mostly—on my server.

In 2004 I set up a weather station in my backyard; to get that data on the Internet, I needed to attach a radio receiver to my Mac via a PC serial-to-USB adapter. It worked, but it was janky and required the computer to be close enough to the weather station to receive its signals. At some point, the manufacturer of my weather station offered a new add-on module that gave the station’s indoor display console an Ethernet port and automatically uploaded data to the cloud.

WeatherCat, the Mac weather-station software I use, can talk to that module directly, so my computer no longer needs to be within radio range of the weather station itself. While I could just rely on cloud services like Weather Underground to display my weather data, I’ve built up a large database of historical data—all generated by WeatherCat and served by my server using its built-in web server. So I keep using WeatherCat, and keep promising myself to update the web templates I created 15 years ago.

Late last year I started running HomeBridge on my server, which allows non-HomeKit devices in my house to be visible to Apple’s Home app. It has worked quite well, and it’s awfully nice to have a single unified interface for all the smart devices in my life.

As for the many large hard drives I used to have attached to the server, a few years ago I replaced them all with a Drobo 5D (disclaimer: it’s another former podcast sponsor), which is an even larger hard drive, with some added redundancy in case of a drive failure. (A few drives have failed; so far, all I’ve had to do is pop the dead drive out and pop in a fresh one. I keep a spare drive or two around just in case of failure, and yes, I do back up all the important data to the cloud, because RAID is not a backup.)

So, long story short, today my server is acting as a file server, weather station, HomeKit bridge, and web server for a few miscellaneous files. Could I do the same thing with a NAS box, or if I just installed Windows 10 or Linux on that Intel NUC instead of hacking it to run High Sierra? Sure, but I am vastly more comfortable with macOS. And as someone who tends to travel without a Mac, sometimes I find my self in desperate need of one. Most often, someone hands me a file—usually a QuickTime movie recorded by Call Recorder—that I just can’t process on iOS. I can use an app like Screens VNC to connect securely to my home server, drag the file from my Dropbox folder and drop it onto a conversion utility, and then disconnect. The converted files go right back into Dropbox, and I return to my iOS workflow. I know, it’s cheating—but it’s awfully useful to have a Mac on call if you run into a brick wall in iOS.

  1. If you do, please don’t tell me, and also stop hacking into my home network. 

If you appreciate articles like this one, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive podcast, members-only stories, and a special community.

Search Six Colors