I built a NAS and I liked it
I am a devops-er. And a software developer. I like taking the pain out of boring jobs.
Why Write a blog?
Why am I doing this?
1. Document the projects that I spend time on.
2. Write something.
3. Get stuff out of my head
4. Keep notes
Latest from my blog
Linux Mint 22.3 Arrives: Highlights and Changes
- December 27, 2025
- 3 min read
Firefox 147 Launches with Linux File Cleanup, Auto PiP, and Under-the-Hood Gains
- December 17, 2025
- 4 min read
CrowView Note 15.6 Debuts with a Bigger Screen and a Much-Needed Fix
- December 9, 2025
- 4 min read
Linux App Update Roundup — December 2025
- December 1, 2025
- 5 min read
LXC on Fedora and Centos 7
- June 14, 2023
- 5 min read
Who is this guy?
Developer, Photographer, Free software advocate, Husband, Dog owner
Project Backlog
Project Backlog
Project firewall - home networking overkill
This is in a state of evolution. I wanted to create a safe place on the
network for 3rd party devices that I didn’t trust such as a Blink or
Ring.com camera. So far this has included:
- Upgrading the house wireless LAN setup to Unifi gear (AP + switches)
- Evaluate and install firewalls
- Switch the Virgin Media router over to IPv4
Still left on the TODO list
- Figure out how to architect the network, including getting the router
to work in modem mode. - Set up OpenVPN ingress options to allow remote connections.
- Consider installing some “infrastructure” type services, for example:
- Landscape (because Ubuntu). I’ve had a first stab at
this and the problem with Landscape is that it’s a bit of a resource
beast. It’s a Java-based program that slowly fills up its max heap
size, to the point where running it in a small VM has eventually led
to death via OOM. - Spacewalk and Open IDM (because Fedora). This seems to
be more of a complete solution for managing a large fleet of servers.
It looks like you need to use the upstream component projects
(Foreman, Katello, etc.) if you want to run it for free.
For example, see the
Katello installation instructions
. - AWX for Ansible runs.
- Reasonable CA management. Everything with a web UI
needs SSL these days, so doing this properly seems worthwhile. I keep
losing the root CAs I generate and then have to start again. - Let’s Encrypt
- Landscape (because Ubuntu). I’ve had a first stab at
Circling back to freenas
I had a bad hardware failure on the NAS back in March, and I need to
document that. I have some new kit in the FreeNAS server now and need to
circle back to it, taking a proper look at what I did right and what I did
wrong. There are some things I could improve, such as running a more
reliable PostgreSQL installation (for example, proper backups and a CNAME).
As I was stuck on FreeNAS 11.1 for so long, the services I’ve been hosting
there are woefully out of date: OwnCloud / Nextcloud, Syncthing, Grafana,
and InfluxDB. There’s also a backlog of older projects I wanted to complete,
such as a remote logging server.
I’ve been heavily reliant on InfluxDB and Grafana, and I need to put more
thought into how I use that data and how to make it more resistant to
failure. I have a second NAS box running older disks that I’m less worried
about failing. The plan is to move all IO-heavy operations over to that
machine, leaving the FreeNAS box with a lighter IO workload. This should
help prolong the life of the drives.
I also need a better backup solution in general. From a monitoring
perspective, I need to finish and package the HDD temperature scripts I
wrote to capture drive temperatures in FreeNAS.
TODO / Ideas
- Monero mining
- Add drive temperature metrics to Netdata
- Use Consul to keep tabs on services running in my house
The next evolution of the blog
Consider an upgrade to Hugo, especially the Academic
plugin. This is both exciting and painful, as the thought of porting all
the content I’ve created on the Jekyll site makes me want to cry. However,
the blog format is two years old at this point and clearly needs some love.
I’d also like to build a personal developer portfolio similar to this one:
https://github.com/RyanFitzgerald/devportfolio
.
I need to re-evaluate how I start writing blog articles. I’ve stalled for
the last couple of months (almost years at this point), and I’ve created a
barrier to writing that is simply too high.
Pi project backlog
The Magic Mirror project has been dragging on for over a year now, and it
clearly needs some love. I have a cut-down version in mind that I’d like
to implement using a spare monitor in my study — essentially a simple
dashboard with weather, news, and a nice background image.
I’d like to figure out how to use a Raspberry Pi as a BMC over a serial
connection; successful serial connections have so far eluded me. I also
want to finish whatever I originally planned for retro games on the Pi.
Looking back, I’ve always gotten stuck on games that require a PC-style
interface, such as old DOS titles or classic Amiga and Atari ST games.
I think I should instead focus on a specific form factor — for example
MAME or older gaming consoles — just to get something complete over the
line.
One of the biggest challenges I’ve faced with retro-gaming builds is
reproducibility: how to rebuild the system over and over again without
copying gigabytes of content across the network, while still keeping the
interface polished with game artwork and preserving any tweaks such as
customized menus or OS modifications.
IOT and Home Assistant
I’ve started messing around with ESP8366, with a view to creating some remote temperature sensors around the house. So far this has stalled.