Servers, Self-Hosting, and a Cat

You might’ve noticed I haven’t posted anywhere in a while. It’s not because I’ve been sitting on my laurels (as mediocre as my laurels may be). Quite the opposite. I’ve been engrossed in tech experiments, problem-solving, and a new role that’s pulled me back into the world of software development. Let me catch you up.

My Home Server Gave Up the Ghost

M4 Mac Mini with a couple of external SSDs

I’ve always used an old Windows computer as an always-on server. Every time I upgraded my main computer, the old one was promoted to server duty. About six years ago, I migrated my bulk storage out of these Windows cases and into a dedicated NAS with the server connecting to it. My most recent Windows server in this lineup was a 2021 Asus Zephyrus G14, an impressive machine that held its own for four solid years.

But all good things come to an end.

When it died, I didn’t have any old computers to migrate into the server role due to having switched to Macs a while ago. I scrambled to patch things together with virtual machines on my NAS and my main Mac. Unfortunately, the performance wasn’t cutting it. Due to a constrained budget and my love of Macs, I decided to try using an M4 Mac Mini as my new server.

I found a used, ‘in perfect condition’ unit at Best Buy. It had 16GB of RAM, but only a diminutive 256GB of storage. Even though I use my NAS for bulk storage, there’s still enough data that needs to be stored locally. Fortunately, the M4 Mac Mini supports Thunderbolt 5. I’ve been able to connect an external M.2 SSD enclosure (HyperDrive Next Portable 40Gbps USB4 enclosure with a Samsung 990 EVO Plus 4TB SSD) and got impressive speeds measuring over 3GB/s. The Mac Mini has turned out to be a fantastic little machine that handles everything I throw at it while sipping power.

Which brings me to my next rabbit hole…

Learning to Host My Own Web Services

I recently took on a new role as Director of Development at a software company, and it’s reignited my excitement for tech outside of photography. I’ve been diving into containerization and decided to self-host two services I’ve been curious about.

1. Hosting My Own Videos with PeerTube

PeerTube Interface

I like posting videos that don’t necessarily fit the vibe of my main YouTube channels, behind-the-scenes stuff, experiments, and other bits that might confuse the algorithm. I tried setting up YouTube memberships and Patreon, but realized my audience wasn’t quite there yet to support that kind of model.

That’s when I learned about PeerTube: an open-source, self-hosted video platform designed to distribute bandwidth through a peer-to-peer network. Since I’m not expecting tons of simultaneous viewers, I decided to host it myself using Docker without utilizing the peer sharing aspect. I just posted my first video using it over on my other website, Flarecorp Media.

The performance has been excellent. I plan to migrate all videos on this site (jasonoflaherty.com) to PeerTube as well and stop using Squarespace’s video service. Squarespace’s video hosting is not designed for what I want to use it for, so I’m looking forward to not using it anymore.

2. Exploring Private Generative AI

The second area I’ve been experimenting with is Generative Chat AI. Like many others, I’ve integrated commercial generative AI tools into my daily life, but there are times when I’d prefer to run a private model, something local and not owned or controlled by a third party.

That led me to explore running these models on my own hardware. I quickly discovered that my M4 Mac Mini, great as it is, isn’t up to the task for the kinds of models I’m interested in. With 16GB of RAM and several services already running on it, there just isn’t enough headroom for anything beyond the basic models. Even my 32GB M1 Max laptop struggles with the larger models.

That’s not a knock on the Mac Mini. I hadn’t planned on getting into local AI experimentation when I chose its specs. It’s been a fantastic server for everything else. This has just been a learning experience in understanding what kind of resources modern AI workloads really demand.

New Job, New Cat, and a Website Refresh

As I alluded to above, I have a new job as the Director of Development for a software company. It’s been very rewarding and has reinvigorated my software management passions. I’ve been happily learning about the new company and trying to make a difference for the people I work with and our partners. With that said, I’m getting the photography itch after 3 months without a significant photo outing.

My wife and I have also adopted a new cat in January; he isn’t stopping me from my media creation hobby. On the contrary, he’s extremely photogenic. A ridiculous number of the photos I’ve taken this year have been of him. At last count, it’s around 200. I never saw myself as that kind of pet parent, but here I am.

In the spirit of catching up, I also updated my home page here, which was starting to feel a bit stale compared to what I’ve been sharing over on Instagram. You’ll now find some newer photos featured, and a reordering to put the photos before my name.

What’s Next?

I have a 4–5 day weekend coming up later this month, and I’m planning a photography trip somewhere new. I hope to come back with some great new additions to my portfolio.

Also on the horizon is a three-part video series on creating ultra-large, gigapixel-style photos. The first video covers capturing, the second covers editing, and the third will focus on hosting and sharing. If you’re curious, you can check out some of my trial photos in the Gigapixel Gallery.

That’s all for now. Thanks for reading, and as always, feel free to drop a comment below. I’d love to hear from you. Take care and see you again soon.

Next
Next

A running list of my Featured Photos