A Case for Setting up Your Own Website Hosting

Siraj Sabihuddin

A scientist & engineer working out how to move his website onto his personal NAS and avoid paying increasingly more expensive hosting prices.

I’ve noticed that my website hosting provider (Go Daddy) has been ramping up pricing and reducing value offered. At one point when I bought a domain and host. I would get a price that included basic features such as email and forwarding for free. Good times those were. Good times indeed! … Now this hosting provider and other similar online services have become increasingly sneaky and (in my opinon unethical) in their sales practices. They will generously supply you with supposedly “free” value added services (for a few days or months) when you purchase some basic features. And then set them to automatic renewal. You as a purchaser will then unexpectedly be charged automatically for these “useful” products. I have particular issue with the SEO and Microsoft 365 service. The others I selected myself – though SSL and website backups really should be an intrinsic part of hosting services. See below:

Ironically, under-the-hood, while these companies charge significant amounts, they are using many free and open-source tools to build their services. These services were provided by the community for free. Ultimately, the sales process is at least somewhat similar to scamming but with a more palatable sheen and with the plausible deniability of having fine print. I’m getting fed-up with this somewhat unethical profiteering. And so, I’ve decided to do something about it and give people an alternative approach to setting up their personal websites while still making them publicly accessible at a reasonable cost.

The Goal

Mostly, the goal of this article is to make the case for hosting your own website. This article is the first part of a multi-part series of articles to fill in the missing gaps for people who are reasonably technical that will allow them to host their website and shopping platform on their own personal NAS or computer. It turns out that in two years you can basically payback the costs associated for setting this up yourself v.s. using a private hosting provider such as Go Daddy. And you can do this, most likely, while getting added value services for free. The advantage is that it will last multiple years, you’ll get more storage space and you’ll also be able to use it as a google drive / dropbox replacement. Further you can also setup an email service and other tools such as a git server, etc.

The Costs of Setting up a Simple Blogging Website

So here’s what I end up paying for just a simple personal blogging website: $658 CAD or $509 USD per year (see breakdown below). And to boot, my SEO rankings have gotten much worse than when all of this was cheaper, my website access speed is significantly slower as well and I’m bombarded by more attempts to hack my website constantly. In-fact, this hosting provider (Go Daddy) specifically exploits long time customers with increasing fees. Rather than rewarding loyalty, they punish it. Why? because they know that customers are more likely to stay to avoid the hassle and cost of moving their website. Furthermore, they are almost certainly stealing all your data and metrics without your explicit consent – I, of-course, await Go Daddy’s corrections and proofs here.

  1. Basic Domain name registration cost stands at: $58.73 CAD or $45.28 USD. This price has already increased considerably when compared to a few years ago for a similarly attractive domain name.
  2. In addition to a Domain name, I now need to to pay an additional fee for an SSL certificate. Without this, my website is by default taken to a warning page when people browse by modern browsers. I’m fairly sure that an SSL certificate should not cost the insane amount of $141.24 CAD or $108.90 USD a year. This is basically a necessity for a domain and should be included by default as well for a reasonable price.
  3. I also need to purchase domain privacy protection at a price of $33.87 CAD or $26.11 USD a year.
  4. Basic hosting cost for hosting only 100 GB of data is at $162.58 CAD or $125.35 USD per year. This is still more expensive than other data storage platforms. And given that web server software is essentially free and open-source. It doesn’t look good. I also don’t get my own dedicated IP for this cost.
  5. I also now have to pay an additional fee for email in addition to purchasing hosting space. And, well, its exorbitant given the real cost of setting up an email server is relatively low. I am forced to purchase Microsoft 365 essentials as well and this at a cost of $108.34 CAD or $83.53 USD per year. So basically, if I don’t pay this then no domain specific email for me! No sir.
  6. My hosting provider also provided some “free” SEO optimization add-on value. Which they offered for free because, they know that many people will forget to turn-off the default auto-renew. Which I forgot. So they subsequently automatically charged: $135.46 CAD or $104.44 USD for this “special” professional SEO optimization. Which actually has absolutely no impact on my SEO performance and can basically be done better for free. Its a mystery to me what exactly their supposed added value SEO does.
  7. Along with any website hosting, you also need backups. These are pretty much essential to preserve your work in case of a successful hacking attempt or some package update that breaks your website. What is the cost of backup services? Well: $35.88 CAD or $27.76 USD per year.

Given that my goal in this article is to show you that the NAS approach is better than economy hosting, you might be wondering how much a NAS and its various accoutrements costs by comparison? Lets include domain registration costs here as well as reverse proxy or relay servers, you end up with a total cost of: $1277 CAD or $987 USD. In comparison over the same period of two years you spend $1316 CAD or $1018 USD on Go Daddy’s services. After two years the recurring cost are reduced down to: $158 CAD or $102 USD per year.

Here’s the cost breakdown of purchasing a NAS and other elements needed for website hosting. Note that, you can save even more costs if you already own a router and don’t need a 4G LTE dongle or have your own permanently connected desktop computer and a hard-drive installed. In which case you only need to spend the cost of the domain registration and privacy. The advantage here of this cost is that you ensure data privacy as well.

  1. Same old domain name registration cost: $58.73 CAD or $45.28 USD with basic privacy: $33.87 CAD or $26.11 USD.
  2. Synology NAS (four bay) DS920 costs around $711 CAD or $550 USD
  3. Getting two 4TB (Seagate Ironwolf) drives for this NAS costs $106 CAD or $82 USD each for a total of $212 CAD or $164 USD. These with a NAS provide in-built backup of your data as well.
  4. Wifi Router, Extender and Access point with all the VPN and TOR and security bells and whistles (i.e. the GL NET Opal router): $51 CAD or $40 USD. You can also add the cost of a 4G LTE dongle here of: $54.27 CAD or $41.98 USD.
  5. Your ISP provided internet access stands at roughly $43 CAD per month or $516 CAD or $400 USD per year. Note that this internet access is fast enough for most personal blogging and simple online shopping needs. And you can still use it for your streaming and other personal needs and is an ongoing cost regardless of whether you have a website or not. So I don’t include it in the total costs. There are some caveats to ISP provided networks as they may not provide dedicated static IPs, may have dynamic IPs or may have a shared private IP as well.
  6. Finally, to compensate for the lack of a static IP for your ISP, you may need to buy access to a virtual private server or reverse proxy or relay server. This might cost you between free to roughly $50 USD per year (or $65 CAD) on the low end for instance for a service like ngork.

This all said the real cost that you have to bear for this process is the labour and time needed to learn how to do all of this yourself at home. It is here that I hope to provide a set of tools and explanations with the intent of making this significantly simpler for the non-expert.

What do You Need to Do?

So now that we’ve discussed the cost, what is it that you need to do to get a setup working? In future articles I’ll talk more about this and post the links at the bottom of this article as they get done. But as a starting point some things you need to consider:

  1. What machine are you hosting your website on? This could be a NAS (my preferred solution) or your home computer or even a raspberry PI. Is this machine running continuously or are you turning it off?
  2. What kind of ISP are you using? Some ISPs provide private static IP addresses at their modem. These are the easiest to deal with but now with IPV4 addresses exhausted, most ISPs provide a dynamic IP address to customers at the modem. Some ISPs, particularly mobile operators, provide a shared private IP address that can make things really complicated. ISPs are increasingly providing IPV6 addresses which can make things much simpler, but some do not support this (esp. mobile operators). How many connections are going to request your webpage? Some ISPs can limit upload speeds significantly – it is upload speed that is a determiner of how quickly your webpage loads.
  3. What does your home network look like? Do you have a modem only? Does the modem support port forwarding? Do you have routers in-between? You need to route traffic to the web HTTP and HTTPS ports all the way to the computer that is hosting your website. Other security considerations may be required. Are you just looking for the website to be accessible to the home network or also to the outside world?
  4. Do you just want to host a single website? Or a series of web applications? Do you want an email server? Or a git server for storing code? Or some other fancy bells and whistles?

Shortly I’ll be writing individual articles to address different elements associated with the above questions and so you’ll be able to click on a link. I’ll also be making a packaged set of software that you can purchase and just execute to get this working without all the effort of learning the process and going through the setup yourself. So stay tuned. You’ll be able to purchase this on my store at some point. To inspire me to work harder and faster and not take a nap, you can also donate and buy me a coffee once a month if you liked this article. Just click on the Donate button and donate via Patreon or other means.

Related Articles

Public IP Changing? Python DDNS for Self-hosting

In an earlier article I made the case that it doesn’t really make financial sense to both register your domain and host your website with a provider such as GoDaddy. The method presented in this article assumes that your home modem’s IP address is a dynamically assigned public IP address. This kind of dynamic IP address has a habit of changing on a regular basis – on a daily to monthly basis – based on some set of rules implemented by your ISP. This is the case for which this article presents a solution.

Read more

Leave a Reply

Your email address will not be published. Required fields are marked *