Network Server Apps
So you’ve either built or bought a network server. Maybe it’s a Synology or QNAP NAS. Maybe you made a server with Unraid, TrueNAS or OpenMediaVault. Or maybe it is something else. No matter what you have, you have the ability to add network server apps.
But I want to give you a thing or two to think about before you add those cool applications.
There is no doubt that adding functionality to your server is powerful, and can be very cool. But is it ALWAYS a good idea? I’d like to tell you a story about two apps that I thought were brilliant but then created some issues for me later on. Bear in mind this is just two apps, and your mileage may vary. I just want to give you something to think about.
I love ProtonMail. It offers end to end encryption. I love it so much I pay for a subscription for extras features. And I use those features. It’s a browser based email however you can configure your email clients to use ProtonMail. This adds encryption to your email client. In order to utilize this you need to deploy ProtonMail Bridge.
Rather than deploy it on every computer in the house I discovered that Unraid has the app. I can install the Bridge on my server and point every computer in the house to it for encrypting emails.
But I followed the directions and IT DIDN’T WORK. So I hit reddit and Dr. Google and eventually found a fix. I blogged about it here. Then I realized that the second I took my laptop anywhere I could no longer access the Bridge. Then I noticed it no longer seems to be available in Unraid.
Well that’s not good. As far as I know it still works however, it was a little buggy. It didn’t work when I got away from my network, and now it’s “Not Available”.
The moral to the story here is that it is cool to run the app on the server, but BETTER to just use their software on each client computer.
I run a home automation program called Home Assistant. I have HomeAssistant installed on a single Raspberry Pi. Most of my devices report via a protocol called MQTT which is the standard messaging protocol for Internet of Things (IoT) devices. In order for MQTT messaging you need a computer to act as a broker for the messaging that is going on.
What better way to use a server that is on 24/7? I installed an MQTT broker on my Unraid server and told my 50 or so devices to “Talk To Unraid”. It works. It works great. There were seemingly no issues at all.
Then a week or so ago I decided to get all my personal computers off the same network that all these IoT devices are on. I don’t want my personal computers on the same network as that super spy, Alexa. Or my probably low security cameras on the same network my private computers are on.
Here’s the problem. Unraid was 192.168.50.1. I left all the crap on the .50 subnet and moved my private computers over to 192.168.60.0/24. Suddenly my home automation devices can no longer see the MQTT broker.
I had to reconfigure EACH AND EVERY ONE OF THOSE DEVICES USING MQTT. Then I had to reconfigure the home automation Pi to be the new MQTT broker. I had some issues with that but they basically were user error on my part. (read: Stupidity). Anyway I fixed it but it took me a full morning to make the move from one MQTT broker to another. And my goodness it was repetitive and boring. And I built in some additional security to the new MQTT broker making it even a little more complex to set up.
Ultimately, I wish I had never set up MQTT on that server. But hey, who knew?
My Greater Point
No-one can read the future. You don’t know you’re going to segregate your network a year and a half after you build it. There was no compelling reason for me to install ProtonMail Bridge on my server. There was no compelling reason to run an MQTT on anything but the Raspberry Pi the home automation was on.
I only did these things because I looked through a list of apps on my Unraid server and thought, “That’s Cool. I’m gonna do that.” No other reason. I never should have done either thing. But it was cool. And it’s a HomeLab server. That’s what you do on a HomeLab.
If I made a point at all it should be to just think about the ramifications of installing functionality somewhere just because you can.
There can be no doubt the server makes a great platform for things like media or file servers. I even run a music server on mine and a gigantic photo app program. That stuff makes sense. Not all apps on a server make sense. Just because you can, doesn’t mean you should.