Benefits and pitfalls of self-hosting
Article written by winther
This is not a guide on how to get started with self-hosting, but rather an overview of some of the various benefits and pitfalls that comes with it.
Degrees of self-hosting
There are many different ways of hosting a website that the question isn't binary, as it basically comes down to how much of the process you want to do yourself. If you only want to write stuff yourself and nothing else, then you could outsource the entire thing to someone else who makes the entire website for you. In the other extreme you have your own physical server running at home. Most would chose something in between, where a platform like Bear Blog gives you a decent amount of control over the design and structure of your website, but you don’t have to deal with anything technical about running a server. The most common way to self-host is renting a Virtual Private Server (VPS) from some cloud provider with some Linux distribution and then built a website with whatever tools you like. Could be using static site generators like Jekyll, Hugo or Zola, or bigger Content Management Systems like Wordpress or Ghost. There are also options in between with service providers that can host for example your own Wordpress instance, but you don’t deal with managing the whole database and server running it. Github Pages is also an easy free way to host a static website, which in my opinion can be a great starting point if you are not interested in managing your own VPS right way. While it is certainly debatable where the line between using a platform versus self-hosting is, I would say the main difference is whether you are using an independent system with full control or are just having an account on a platform. For example, using a one-click installation of Wordpress from a hosting provider is a form of self-hosting, whereas having an account on blogger.com is not.
Convenience or independence
The main factors to weigh against each other is the amount of control, independence and freedom you want to have, over the ease of use and convenience of using a hosted platform. When using a platform you are bound to their terms and conditions. While that is also true if you are buying a VPS from a cloud provider and ultimately the terms of your ISP if you run your own server at home. However, there are degrees to when terms matter. Platforms often have their own terms of use, with regards to content and usually also vague broad terms that allow them to terminate your account whenever they see fit. Meaning potentially your content could vanish overnight for arbitrary reasons. It will usually take something more substantially illegal on your website before your ISP will terminate your Internet connection at home. Whether that matters is of course a matter of how sceptical one is of a specific tech platforms, but we have seen examples of censorship on Tumblr in the past for example, so these things do happen.
Technical independence means more control over all aspects of your website. While a platform like Bear Blog provides plenty of tools for customisation, it is still limited by the structure and functionality the platform provides. With a self-hosted setup the possibilities are practically endless, though it also means you have to do it yourself. For example Bear Blog has built in analytics, but you don’t have access to server logs. With a self-hosted setup you can read the full logs and apply other tools for statistics, or self-host some other analytics software as well. All of this obviously come with the cost of having to setup and maintain all that stuff. When Bear Blog recently was down for custom domains all we could do as customers was wait. With a self-hosted setup you can fix technical issues. But that also means you have to fix it.
Learning
I think the main motivation for venturing into self-hosting is as a learning experience. It is a great way to learn about servers, operating systems, databases, various website tools and all the technical details that makes the web function. It can be a huge time sink and admittedly also something that can easily distract one from actual writing. I have on occasion spent way more time tinkering with various static site generators than writing actual stuff for those same sites, but that has value in itself. If you however mostly care about writing and getting it on the web, then there is little reason to go deep into self-hosting.
Ownership
One key aspect that I think is vital to make a decision about is how to control the content you make for your website or blog. Regardless of whether one goes for a hosted platform or fully self-hosting, give it some thought on how to keep your content and move it elsewhere if something goes wrong with your current hosting. That means having some sort of backup plan, and look for hosted platforms that has an option to export all your content in a standard format. Bear Blog has the option to download all your posts and pages to a CSV file, other platforms will give you a ZIP with Markdown files and Wordpress has its own XML export format where plenty of tools exists to convert that into something else.
In addition, buying your own domain is the only way to stay platform independant, giving you the option to migrate elsewhere without having to inform existing readers to a new URL. The downside is of course that you have to pay for a domain every year to keep it going, and while there are no guarantees for the future - if you have your site on a subdomain on a platform like bearblog.dev, wordpress.com or blogger.com, then your blog will stay online even if you abandon it and forget about it. At least for as long as that platform is willing to keep it online. I think there is some novelty in finding a blog on blogger.com that hasn’t been updated in 20 years, but the posts from the past are still there. It is not something you can rely on, as platforms do shutdown as we saw earlier this year with the blogging service Typepad, that closed after 22 years.
All that said, it is your own writing and website design that matters the most - not how it technical works.