Running your own server at home can be cheap and requires only basic knowledge of the command line. An old laptop can be converted into a server without any physical modifications, and even a modest desktop from the store would be able to easily run all the applications below without much effort.
The reasons for setting up such a system can differ vastly from person to person. Some people believe that a computer that you own, set up, and physically keep at home is the only server you can completely trust, especially when used for storing sensitive information such as cryptographic keys, personal data, or Bitcoin. Many are more comfortable with this option than using a provider like Dropbox.
In other cases, performance might also matter. If your personal music and film library is too big for your laptop, keeping it in the cloud could mean contending with slow internet speeds. An internet outage at home would also cut off access to your files.
Here are some ideas on what to do with your home server:
1. Store personal files
You can share data on the server’s hard drive with whoever you want. That might be convenient if you want to make files available to others without going through Dropbox. You may also restrict this to only computers inside your home network, making it easy to share files between family members. The speed improvements will be noticeable, especially for large files.
As an alternative to a full-sized server, some external hard drives can also act as a “network-attached storage” unit.
2. Host a personal website
Unless you have millions of impressions per month or live at the edge of the world, any old laptop will perform similarly to your cloud provider. Something like a WordPress or Jekyll site won’t cost you anything and perform well. This is great for hosting your contact information, encryption keys, and links to your social media. And you can easily run it as an onion site, too!
3. Use SecureDrop
If you need to securely and anonymously accept files, for example as a journalist, then you will find SecureDrop very useful. SecureDrop is like a dead mailbox in the woods that anybody can anonymously add files to. You can also use SecureDrop to communicate with your sources. While the software is safe to use in the cloud, too, having it installed on a machine physically near you makes it easier to trust that nobody has tampered with it.
4. Have your own chat server
Admittedly, messaging service Jabber/XMPP has lost a fair share of users in the past years, primarily because of its poor performance on mobile devices. But the truth is no other messaging protocol satisfies all the conditions of being well-tested, having well-audited encryption, and being operable without the use of a third party. If you not only want your chats to be encrypted but also your metadata protected, Jabber is the way to go. It can be run through an onion server, too.
5. Run your own email server
If you manage to run your own mail server, you are as hardcore of a privacy advocate as can be. Due to the prevalence of spam, getting email from your own server accepted is really difficult. Configuring the encryption protocols properly is no easy feat, either. Props to you!
6. Make your own VPN
A home VPN mainly differs from a commercial VPN provider in that there is only a single server location: your home. Having your own VPN allows you to surf the web securely from wherever you are—provided you can trust your home ISP. However, your traffic will not be mixed with anybody else’s, meaning some of the privacy advantages of a commercial VPN are not there. You’ll also miss out on a User Interface (UI) and apps for all your devices, but a home VPN can help you remotely access your personal files and IoT devices securely.
7. Run a Tor node
Depending on your willingness to contribute to the Tor network and the legality of it in your home jurisdiction, you may configure your Tor node as either a relay or an exit node. If it’s an exit node, you let others use your home network to browse the internet as if it were their own. This helps them be anonymous. If it’s just a relay, you are donating your bandwidth to the network but all traffic in and out of your home is encrypted.
8. Set up a Bitcoin node
If you own Bitcoin and are concerned about whether the rules of Bitcoin are being followed, you can set up a Bitcoin node. This way you can check, without having to trust others, how many Bitcoins there are and that they are all spent by their rightful owners. If you receive Bitcoin as payment, you can use your node to verify that the funds have arrived in your wallet. It’s very easy to run behind Tor, too.
9. Run a Lightning node
If you regularly make and receive small Bitcoin payments, a Lightning node will help you significantly increase their speed and reduce their cost. To run a Lightning node you’ll also need a Bitcoin node but very little additional storage or computing capacity. Like many other services, you can also run this node behind Tor.
What is a home server?
A home server is a computer in your home that provides services to other devices. Because home servers usually serve a relatively small number of other devices, they do not have to be as powerful as commercial servers. For this reason, home servers are often repurposed from old personal desktops and laptops, though some people prefer to buy servers preconfigured for home use.
Why would you use a home server?
There are many reasons to set up a home server. Some people don’t want to rely on cloud hosting for their websites, photos, movies, music, and other files for privacy or security reasons. Others have specific demands for their home network that cloud services can’t easily provide. And still others just enjoy a fun DIY challenge.
How to set up a home server
The process for setting up your home server will depend on your specific needs, but in general, here’s what you’ll need to do:
1. Get the hardware
Pretty much any computer can be a server, so you may as well use an old Mac or PC that still works. If it’s too old, however, you may want to replace the hard drive, RAM, and/or cooling system before you begin.
If you’d prefer to start fresh, there are many inexpensive options for buying your own home server. HP, Dell, Lenovo, and others all make servers that are preconfigured for home use, and may save you some trouble on the next steps.
Besides the server unit itself, you’ll also need a router. Note that it doesn’t matter if it has Wi-Fi capabilities—you’ll want to use Ethernet cables for reliability in any case.
And of course, even though the server won’t need a graphical interface once it’s up and running; you will need a working monitor and keyboard just for the setup process.
2. Install/update the operating system
If you’ve purchased a new home server, it may come with an operating system pre-installed; in which case you’ll just need to update to the latest version.
If you’re repurposing an old personal computer, however, you’ll likely want to use some form of Linux, like Debian or Ubuntu. Other popular OSes for home servers include Amahi, FreeNAS, and Unraid.
3. Configure your server
Once you’ve got your OS set up, it’s time to get it ready to start serving requests. This process will vary depending on the application you have in mind for it, but in general consists of logging into the server using the command line. Check out our guide to setting up your own small home server for a step-by-step walkthrough. (Note: these instructions are for Ubuntu).
A home server is a fun way to learn about the internet
Getting a home server can be a great learning experience. By installing a new operating system on your old computer, learning how to use the command line and configuring servers, configuration files and software, you’ll get to see how the internet works, uphold some principles around privacy and decentralization, and generally just show how badass you are.
FAQ: About home servers
How do you access a home server remotely?
There are many ways to access your home server remotely, assuming you’ve set it up to allow remote access. You can use SSH, port forwarding, or even set up your own VPN. A popular option is also to use Dynamic DNS (DDNS), although that usually involves another third-party provider.
What does a home server cost?
If you already have a decent computer in working condition, setting up your own home server could cost nothing at all. If you need to replace some parts or buy a completely new server however, you could end up spending anywhere from a few hundred to a thousand dollars (USD).
Why use a home server instead of a desktop?
Most people find a desktop or laptop adequate for their personal computing needs, like browsing the internet, creating documents, and editing photos and video. But if you need more processing power for one of the applications described above, having a dedicated home server—with no apps or graphical interface to slow it down—can make your life a lot easier.
What are the disadvantages of a home server?
Home servers aren’t for everyone. Because they often require a bit of time and elbow grease, many people prefer to use a cloud storage solution, rent a virtual private server for a monthly fee, or simply use a solution, rent a VPN at home to increase their privacy and security.
Having a server physically in your house also means you’re responsible for some maintenance that most people take for granted with cloud services. You’ll have to make sure your server has the latest updates, doesn’t get wet or overheat, and is physically safe from theft and tampering. And you won’t have a customer support agent to call when something goes wrong—although for some people that’s part of the appeal.
You’re awesome for creating this blog. No lie, I have maybe 30 tabs open of just your site’s blog entries alone. Please keep up the good work!
Good post. Since then I have implemented a home server, which has expanded in functionality to include:
– Apple Music Server (free)
– Steam Gaming Server which offers installation file downloads and game streaming
– Video Streaming Server
– Family Device Backup Server