What is Self Hosting?

Self Hosting is a concept in which you are encouraged to host your applications. You take full control of the data, the application lifecycle (installing/upgrading etc) and in this process, you learn to be less dependent on paid SAAS (Software as a Service) providers.

There are many different motivations to self-host software but generally speaking, they fall under 3 basic principles:

  • Freedom: The ability to own your data and not rely on a 3rd party provider allows you to be in better control of that software. You don't have to worry about a company going down under and you losing access to the said service.
  • Privacy: There are some software like a Chat group, a Notetaking tool, a Version control software access etc where you care more about the privacy/ownership of the data. You don't want to give away access to precious data to some random companies, so you want to self-host.
  • Learning: If you are motivated to learn about servers, networking, Linux systems and just like to tinker with stuff in general, Self Hosting is an excellent way to learn a lot of concepts while doing hands-on projects.

Now that you know what is self-hosting and why people self-host, let's talk about a few things you can self-host in the next lesson.