At this point, it’s probably good to explain what a server is in a few words: A server is a computer that serves information to a user (or client) machine. It’s an essential part of everything online—arguably, the internet is just a bunch of servers.
When you visit a website, somewhere in the world there is a computer that has the website stored on it—that computer is one example of what we call a server. When you enter a URL into your browser, you are being connected to this server, and it will send you back (serve you) the content of the website. Your computer then displays this website in your browser, similar to the way a TV receives the signal from the TV station and renders it into an image on the screen.
Similarly, if you edit a Google Docs file together with someone else, somewhere in the world there is a server on which the content of this document is stored. Every time you make a change in the document, this change is sent to the server, which then passes on (serves) the changes you just made to all the other users, instantly. This way everyone is always in sync and can see what the other people are writing, in real time.
Obviously, on a practical level things are a bit more complicated than that but when people say the cloud is just someone else’s computer, this is what they mean: the so-called cloud is just a bunch of servers that store everyone’s data and keep everyone connected. In the case of big tech, these servers are part of huge data centers, incredibly complex operations that exist in specially designed buildings that use the energy equivalent of small cities. This scale is “necessary” because they serve millions of people simultaneously, all over the world, all of whom expect things to happen immediately and without a moment of delay or a second of downtime.
Self hosting is the opposite of that. Instead of having all your data on someone else’s computer, as is the case with the cloud, it’s setting up your own computer to do the same thing. At least theoretically, any computer can function as a server and while it requires some technical know-how, time and effort, it’s possible to set up a small server in your own home or work place that can replace some or all of the cloud services you (and your colleagues?) use. Since you most likely don’t need to serve millions of people at the same time, the hardware, software and energy requirements for this can be surprisingly low. If you want to supply file sharing, collaborative writing, video calling and a shared calendar for yourself and the people in your surroundings (let’s assume this is up to 15 or 20 people), chances are that an old laptop that you or someone you have lying around would be up to the task.
As previously mentioned, self-hosting comes with a set of ethical and practical advantages:
But nothing is perfect and life is not fair, and like everything else, self-hosting comes at a cost. The trade-off here is mostly about the time and energy that an individual or group has to spend on it (more on this in our notes on expense).
The list of self-hostable services is long and ever-growing. If there is a cloud service provided by some start-up, there is probably a way of hosting something similar yourself. This includes, but is not limited to:
But there are many more applications to discover or play around with. You can self-host gaming servers (for example for minecraft), or media servers to connect to your TV.