Setting up an Ubuntu Server

I always have projects I’m working on in the RV, and I always come up with new and better ways to get them accomplished. I find a problem, figure out a solution, and before I implement that solution, I re-examine it to see if that is the best, most reliable and most affordable solution to the problem. In this case, I’m looking at how to back up our computers, stream media to our TVs, have some file storage space, and maybe have the capability to do a few more things all in a small package. I would love to do it with a Raspberry Pi simply because they are so cheap and easy to set up, but I think in this case, I need to go with something more powerful, which adds more cost but also more long term possibilities. In this case, I’m going to be setting up an Ubuntu server to run these things in the background as well as adding a NAS to store everything on.

Why Ubuntu Server?

First, I love using Linux. I’m comfortable with a command line, I can edit config files with easy, I’m fine using the Terminal and FTP to edit things and transfer files over. I could install the full desktop version of Ubuntu, but I don’t need to. There isn’t anything in this case that I will need to use a GUI for, so doing it all remotely and having it run when I need to is all I need. I’l never be logging into it directly, just remotely all the time from another computer, so there is no need for the larger install, all the extra apps and files, and just the crap we don’t need and will never use. Ubuntu Server has just what we need with the tools to add things that aren’t included in the initial installation.

Why not a Raspberry Pi?

While I love using Pi’s for some things, I’m also hitting their current wall. They have only 1GB ram and the processor is a 1.4Ghz ARM chip. Its not terrible considering what we had a few years ago, but its not great either. It is especially noticeable with our Plex server as the Pi 3 simply cannot handle transcoding files very well. The Pi 3 also only has USB 2, and I think the ethernet bus is run off the USB 2 bus as well, so its slower than it could be. If they could somehow upgrade it to USB 3 in the next iteration, that would be great, but for now, its just not good enough. I often transfer files from my laptop to the hard drive connected to the Pi and most times it peaks at about 1Mbps. Sometimes it is as low as 60kbps. That’s horrible and the only bottleneck I’ve figured out is the USB 2 and ethernet on that same bus.

With the added inability to upgrade the Pi at all except to just get a new board when one becomes available, it leaves me stuck with either having a bunch of Pi’s doing separate functions, or having one computer that does all the server-type functions on its own.

The Intel NUC

We need a computer that is small, takes up very little physical space, has decent specs, ability to upgrade, gigabit ethernet port, and the ability to install Ubuntu Server. I had looked at several smaller mini-PCs, but most are either ChromeOS, Android, Windows 10, or have only 2GB of RAM. That’s not enough of an upgrade from the Pi, so I expanded my search outward.

Eventually, I looked at the Intel NUC line of mini computers. They are actually much smaller than I had expected, but I found a model with an i5, the ability to go up to 32GB of RAM, an m.2 SSD port, gigabit ethernet, and all for $350. It does not, however, come with RAM and a hard drive, so I had to find those as well. Adding an m.2 isn’t hard and I found a Samsung 970 EVO with 250GB storage for about $106. For RAM, I decided that 16GB was enough. 8GB might be okay, but I don’t want to have to upgrade it in a few months if I find out its not enough to do everything. I had to go to Intel’s spec site and actually go through their list of approved RAM because, for some reason, not all RAM works with the NUC. Even still, 16GB in two chips comes out to about $160.

For this setup, this NUC should be good for awhile. It can be stored in the electronics cabinet, not take up too much space, and do all the server functions without having to be logged into all the time to check things. With Ubuntu Server, I can simple remote SSH in, update the files, reboot if needed, and be done with it.

The next step then, is adding more storage. We have all our data on our computers, one 1TB external hard drive, and a 4TB external hard drive. Critical stuff also gets backed up to OneDrive, but I want to keep as much locally stored and backed up as possible because our internet connection is not always the greatest. We already have nearly 3TB of media and close to 1TB of files spread across two OneDrive accounts. I would also like to add Time Machine backups for our MacBooks, so that’s about another 1.5TB to fully backup both computers well. We will also be adding an area just for local storage and backup of stuff that doesn’t need to go to OneDrive, plus I’ll be adding a web server and a database for our Smart Pantry project. That database shouldn’t be very large though, its not like we are running a business here, we just need to keep track of what food and supplies we have on hand.

And that leads to a NAS

With Network Attached Storage, it becomes accessible from any device on our network, we can add a ton of storage, it’ll have a gigabit ethernet connection, we can put it anywhere we have power and ethernet, and we can setup RAID to keep a bit more reliable in the event of a disk failure. I decided on a 4-bay Synology for about $370.

Of course, a NAS requires hard drives unless it comes with them already installed, so in this case, I’d like to go with 4 8TB IronWolf hard drives. Setting them up in RAID 5 should suffice, which will leave us with 24TB of storage space, more than enough to last for a few years.

With the Synology NAS, we can set it up so we can transfer files over FTP from any of the other devices on the network, and since it will be connected directly to the router, which has Gigabit ethernet, the transfers should be pretty fast. The speed of the disks will probably be limiting factor in this case. Then, with Plex Media Server installed on the NUC, we can use that to stream media from the NAS, through the NUC, and to our TVs. With ethernet connecting it all and the 16GB RAM on the NUC, we shouldn’t experience any hiccups.

Add on to that the web server, which will be running our Smart Pantry, plus maybe some other inventory items, as well as rclone for the OneDrive backup, and we should have a pretty decent server running continuously, able to update remotely, and keep going for many years before needing any sort of upgrade. That should be all we need to get the Ubuntu server up and running, now to just figure out how to pay for it all or start looking at cheaper options.

Leave a Reply