A 2015 MacBook Pro as a Full-Time Homelab Admin Box

My busiest homelab machine is a laptop from 2015. A mid-2015 15" MacBook Pro sits on the desk with its lid open, running Ubuntu around the clock. It’s where an AI assistant, Claude Code, does the day-to-day admin work on the rest of the lab.

I bought it new in 2015 for data science training and work. Later it went to my stepdaughter, who used it for years until she finally upgraded this year. Suddenly it was sitting unused: a quad-core i7 with 16 GB of RAM and a built-in battery, free for the taking. Rather than buy a mini PC, I put it to work.

The hardware

Installing Ubuntu on it

It runs Ubuntu 26.04 LTS. The install wasn’t smooth: the Apple SSD kept throwing errors that broke the installation.

Here’s the honest part: I didn’t fight those errors alone. I worked through them with Claude, the AI assistant that now runs on this very machine. It read the error logs, worked out that the SSD was clashing with a Linux hardware feature, and found the kernel boot options that fixed it, all in a single session. (I’m leaving the exact options out: one of them switches off a security protection, which is a trade-off worth making only after you understand it. If you hit the same errors, search for your exact error message.)

Running a laptop 24/7

A few settings make a laptop behave like a server:

What it does all day

My favorite example of why this works: in November 2026 I set up Beszel to watch every machine and send alerts to my phone through ntfy. The “send test notification” button worked, so I assumed alerts were live. When Claude ran a set of deliberate fault tests, nothing arrived. It traced the problem to the alert settings: the notification address had never actually been saved. The test button had worked from the unsaved form, so every real alert up to that point had gone nowhere. One click on Save fixed it, and six types of alert then reached my phone.

The lesson I took from it: a test button isn’t a test. Trigger a real alert and watch it arrive.

Would I recommend it?

If you have an old MacBook in a drawer, use it. It’s quiet, it costs nothing, and the built-in battery rides out short power cuts like a small UPS. The trade-offs are real but small for a job like this: the RAM is soldered, so you get what it shipped with, and Linux on Mac hardware can take some troubleshooting.

If you don’t have one, look for a cheap used MacBook with a cracked or damaged screen. As a server it never needs a display: I never have the screen on, and I manage it entirely over the network. Laptops with broken screens sell for far less, and the screen is the one part a server doesn’t use.

#macbook #ubuntu #claude-code #ai