Self-hosting is the term that describes running software on your own server or infrastructure, rather than relying on a third-party cloud or hosted service. That sounds complicated, but it just means taking responsibility for, and control of, your own data. It sounds great in theory, but it requires enthusiasm and technical know-how,  so if you don't know the difference between DNS and SDN, don't read any further!

Why might you want to do this? There are various reasons, including:

  • Privacy - your data stays with you and you own it.
  • Cost - it might be cheaper to do it yourself (although beware of hidden costs).
  • Education - it's fun to learn, and satisfying when you get something working.
  • Customisation - sometimes you just can't find a third-party offering that does exactly what you want.
  • Freedom - don't you just hate those billionaire tech bros?

In my case, it's all of the above.

Why might you not want to self-host? There are lots of very good reasons, including: 

  • It's complicated and you have to get everything right.
  • You have to worry about network security and software updates.
  • You need a reliable internet connection, a good ISP, and almost certainly a static IP address.
  • It helps if you understand IPv6 networking, and for maximum compatibility you need delegated (or control over) reverse DNS for IPv4 and IPv6.
  • You still need an off-site backup, and a plan for if it all goes wrong.
  • In the UK, if you're providing a service for anyone else, even just friends and family, you may fall under the requirements of the Online Safety Act.

I started self-hosting when I got my first ADSL broadband(ish) connection, in approximately 2002. Details of my current self-hosting setup, including my "behind-the-sofa datacentre" can be found here: Self-Hosting Setup