You don't have to get very far down the journey of home automation before you want your own home automation server. Adding a server to your home opens up a whole new realm of possibilities, including media sharing, automations, backups, virtual game worlds, and more.
But what hardware do you need to get started? What are the minimum hardware requirements for a home server, and should you use a Raspberry Pi? Let's find out.
Home Server Options
How much hardware and money do you have to throw at a home server? It turns out, not much. You'd be surprised with how much you can do with even the smallest, cheapest options available.
There are a lot of options for home servers. Just a few options that you have for setting up a home server include:
- You can use a Raspberry Pi, Orange Pi, or other single-board computer.
- It's possible to repurpose an old laptop to work as a home server.
- There are many small form factor PCs such as the Intel NUC available.
- You can buy a used desktop PC for a significant cost savings.
- You can build a micro ATX PC or a full ATX PC for the most options and expandability.
Each of these choices come with a variety of pros and cons. In order to decide which option is best for you, you need to consider your goals, your budget, and the size of your server location.
Home Server Options: What Are Your Goals?
There are tons of reasons to run a home server. Thinking about the reasons that you want to run a home server can help you decide which hardware is best for you.
HDD means hard disk drive, and SSD means solid state drive. HDDs are slower than SSDs, but SSDs are more expensive. Most servers have a combination of HDD and SDD based storage.
To help you balance your goals with your hardware needs, here's a handy table of the hardware requirements for some common home server goals:
|Minimize Power Consumption||If minimizing power consumption is a top priority then perhaps an old laptop, a single-board computer, or a small form factor PC is the right choice.|
|Media Streaming||Media streaming services such as Plex, Emby, and Jellyfin require more CPU, and HDD space to store your media. If you want to host your own media server, you'll need to budget in more HDD storage, both in terms of cost and in terms of space in your enclosure.|
|Virtual Machines||Virtual machines such as Docker require more CPU and RAM. If you want to run a lot of virtual machines, you'll need to budget in more RAM and CPU. You'll also need to budget in more SDD storage for the virtual machines.|
|Home Automations||Home automations can run on a pretty slow CPU, but will react faster with a fast CPU.|
|Backups||If you want to host your own backups then you are going to need more HDD storage space.|
|Virtual Games||Hosting virtual game worlds such as Minecraft requires more CPU and RAM, and probably some SSD storage.|
|Transcoding||If your Plex/Emby/Jellyfin server is going to do any media transcoding, then your server needs to have a video card.|
|Artificial Intelligence||Artificial intelligence algorythms require a video card and a lot of RAM.|
Home Server Power Consumption
Servers burn power and power costs money. If you are running a server in your home, you are going to want to keep the power consumption as low as possible. The lower the power consumption, the lower your power bill will be.
It's easy to fall into the trap of running ancient hardware in an effort to save money, but old hardware can be a huge power drain. If you are running a server in your home, you should be running a server that is as efficient as possible.
To estimate how much a server costs to run, you can use a tool like a Kill-a-Watt meter to measure the power consumption of your server. You can then multiply the power consumption by the cost of electricity in your area to get an estimate of how much it costs to run your server.
Which Server Is Right For You?
After thinking about your goals above, you should have a good idea of what you want to do with your server. Now you need to think about what hardware you have available to you, and what hardware you need to buy. You also need to think about how much power your server will consume, and how much that will cost you.
If keeping power consumption low is your number one priority over all else, then go with a single-board computer or an old laptop.
If you know for sure that you want to run lots of Dockers or Virtual Machines, then go with a full atx pc and max out the RAM and SSD storage. You can save money by buying a used computer.
You'll need a video card if you are interested in media transcoding or artificial intelligence.
If you want a media server or a backup server, then you'll need room for at least a few full sized hard drives.
If You Want the Cheapest Server Available
Your two best choices for saving money and electricity are a single-board computer or an old laptop. Both of these options are very cheap, and use very little electricity.
Single-Board Computers - aka Raspberry Pi
If your absolute priority is on spending the least amount of money possible, then perhaps a Raspberry Pi, Orange Pi, or other single-board computer is the right choice for you.
Lately it's been difficult to find a Raspberry Pi for sale. The excellent competitor Orange Pi is a great alternative.
The pros and cons of single-board computers are:
- Pros of single-board computers:
- They are cheap - less than 50 USD
- They are small - you can hide them with your router
- They are low power - the cost to run them is so low that it's negligible
- Cons of single-board computers:
- They are slow - don't expect to run Plex on one and get good performance, Docker and virtual machines are out of the question
- They have limited storage - this will not be your backup host
- They have limited expansion options - no room for a video card, and no room for more RAM
If you are just starting out in home automation, and you just want to run Home Assistant, MQTT, and Node-Red, then a cheap single-board computer is a great way to get started. You can always upgrade later.
An Old Laptop
A cheap, used laptop might be a better choice than a single-board computer. You can get a used laptop for less than 100 USD, and it will have more storage, more RAM, and more CPU power than a single-board computer.
While the laptop will burn more power than a single-board computer, it will still be a lot less than a full-sized PC. Most laptops can idle as low as 15 watts.
If the laptop was made in the past decade, then it should have no problem running most home automation tasks. In addition, they have a keyboard, mouse, and video card already attached, which makes setting them up a breeze. Make sure you find one with USB 3.0 ports, which makes external storage a viable option.
If You Want a Full-Size Server
A full-size server is a really nice addition to a home automation setup. Once you have one up and running, you can use it for all kinds of things. You can use it as a backup server, a media server, a virtual game world host, a home automation server, and more.
You have many options for running a full-size server. It doesn't matter whether you use an old PC or a brand new rack-mount server. Both options will get you a ton of possibilities in your home server.
If you want to keep the power consumption low, then avoid using old, rack-mount servers. You get the best power consumption with a low-end desktop PC, running a good power supply and no video card.
For those of you who are fortunate enough to be building a home server with new components, here are a few recommendations to help you get started.
- Choose a full-size case to give room for future HDD/SSD and video card upgrades. Full-size cases are also easier to work with, and stay cooler under load.
- Use an inexpensive i5 or Ryzen compatible motherboard. There is no need for a full-featured gaming motherboard.
- Save money and buy and inexpensive CPU. It's difficult to max out the CPU on a home server.
- Use an 80+ gold power supply to reduce power consumption.
- Consider 16 GB RAM a minimum, unless you are going to run lots of VMs, then max your motherboard out. 64 GB of RAM is good, 128 GB is better.
- Put a 1 TB SSD in your server as a minimum. It will come in handy for Docker and VMs.
- You can put as many spinning HDD in as you want, keeping in mind that they use about 5 watts each.
- A video card is only necessary if you want to do media transcoding or work with artificial intelligence.
Without a video card, it's easy to keep a setup like this under 100 watts of power consumption, which works out to 72 kWh per month. If you want to do media transcoding, you'll need a video card, which can easily double your power consumption.
Set Up Your Server
After you have decided what hardware you need, you are ready to start setting up your home server. You can go track down some hardware and get it up and running.
Next up, you have to decide on an operating system. Are you going to use Windows or Linux? Which virtual machine hypervisor are you going to run? Are you going to use Docker? Are you going to use a container orchestration tool like Kubernetes?
I'll cover all of that in the next post in this series. Stay tuned!