> ## Content Index
> Fetch the complete content index at: https://aidanscesny.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Building a website as cheap as possible
- URL: https://aidanscesny.com/building-a-website-as-cheap-as-possible/
- Published: 2026-08-30T15:24:26.000Z
- Updated: 2026-08-30T15:24:26.000Z
- Author: Aidan Scesny

---

## Defining the mission

Initially going into this, I had a fairly simple goal in mind - I wanted to host a website for my professional endeavors without breaking the bank. While I had been a system administrator for quite a while at this point, I had little frame of reference for how expensive this would be, or any idea how to get started.

I knew the easy way out would be to pay a service provider, like GoDaddy, to do everything for me. That seemed like no fun to me, so I decided on some basic rules for myself. First, obviously, was not having someone do all the work for me. Second, no using AI. AI is a great tool, but it's really not too far off from breaking the first rule in my opinion, and that's no fun. 

## Domain and hosting

I thought procuring a domain name would be the hard part, but it was actually fairly easy. You really don't have much of a choice but to use a provider for this step, and that's fine. I went through GoDaddy, and one of the benefits of having an unusual name came to light in that nobody else wants this domain name. So I got a .com domain all to myself for **$22.49/year**. Good deal.

With that out of the way, I needed somewhere to put the website. The easy answer was my home-lab, as even with the one node I currently have, it would be plenty of space. There are two issues with that - security and uptime. When expecting inbound traffic to a server (especially the massive amounts I expect here) you need to constantly be on top of network security, lest your entire network be exposed to an attack. While I can, to an extent, control that factor, I cannot control uptime. A power outage in my area, hardware failure or ISP issues will drop my website, and that doesn't make for a very strong portfolio. 

The easy answer for me was Amazon Web Services. I had gotten a little experience setting up a VPC during my time at L3Harris, and I figured that if I could squeeze down the footprint of my site, I could get really good bang for my buck. This also gives me my own public IP separate from my ISP, and significantly increased availability. I shopped around their various compute offerings and settled on the t3.micro. It is one of their cheaper instances, with 2 vCPUs and 1 GiB of RAM. There were other options I considered, such as a t3a, which is just the same thing but AMD, so cheaper, or some of the ARM offerings for better pricing efficiency, or going to Lightsail for 2GiB RAM and 2vCPUs, but I settled on the t3.micro for being the most straightforward option. Between the EC2 instance, the VPC it sits in, and other taxes and fees, my price for the AWS hosting comes out to around **$12.49/month**. 

Now, the compute being the most price-critical part of this operation, I needed to leave as much room as possible for my website. The CPUs were really not a limiting factor compared to the memory. Obviously, Windows was not an option, nor would I have installed it anyway. Normally, I run with Red Hat-derived operating systems, but even a minimal Red Hat / Rocky install would be idling around my 1 GiB limit. Alpine Linux is the lightest-weight widely available Linux distro, but it's really better suited inside of containers, and has some limitations when it comes to software and stability. If any Alpine enthusiasts are reading this, I have no doubt you'll let me know. I ended up choosing Debian headless, as it has an incredibly large and stable software collection and security stack, and idles around 100 MiB of memory usage, only 10% of my budget. This leaves the other 90% to my site.

## Framework, configuration and deployment

After procuring my domain name, buying compute, and imaging Debian, I needed the most important part of the website - the website. At this point in time, I hadn't put much thought into how I wanted to structure the site. I knew I wanted an area to write about what I was working on, and I wanted a place to aggregate my links and information, but that was about it. I am not a web developer, nor do I want to be, so after about 10 minutes of tinkering with HTML, I stopped to actually consider what I was doing.

The first thing I wanted to lock in for myself was operating out of a container. If I was going to deploy a website, I wanted that extra layer to separate the site from the operating system for portability and ease of deployment. I also did not want to do the front-end work myself, it would take too much time and quite frankly isn't something I am interested in. That meant I needed to find a framework of some kind. 

A brief search turned up two candidates - WordPress and Ghost. I had heard of WordPress, but I had no idea it was self-hosted, much less open source and GPL-licensed. However, it was pretty quickly out of scope once I saw how heavy it was, specifically in resource usage, security footprint and just how much it could accomplish that I frankly didn't need. This left Ghost, which I hadn't heard of. It is free to operate, open source, lightweight and focused on exactly what I need, and recently rolled out a Docker deployment. Couldn't be any easier.

After following their step-by-step instructions, I had this site running in a container in less than twenty minutes. It even let me integrate with Tinybird and Resend with simple configuration changes, which gives me free analytics and email, which really weren't things I was anticipating being able to implement. This did push me dangerously close to my memory cap, and I was beginning to worry that the OOM killer would destroy my site if somebody clicked into it. 

I stripped 2 GiB off of my filesystem and provisioned it as swap space, then lowered the kernel swappiness. This gave the system some breathing room if memory ran low, while keeping it from relying too heavily on the much slower swap space.

![](https://aidanscesny.com/content/images/2026/08/memory.png)

While swapping is unavoidable, we are still avoiding thrashing or reaping, which were my main concerns

## Final thoughts

| Service   | Cost      |
| --------- | --------- |
| Compute   | $12.49/mo |
| Domain    | $1.87/mo  |
| Analytics | FREE      |
| Email     | FREE      |
| CMS       | FREE      |
| **TOTAL** | $14.36/mo |

Overall, I'm pretty happy with how the final product turned out, especially for the price and how little time it took. It was a fun way to spend an evening, and it's always more fun to optimize a resource constrained system than it is to work with endless gobs of enterprise compute. Surely, there are avenues I could've taken to even further optimize my setup, but I think I nailed the price / effort ratio.