Ralph Randall Smith

Software Engineer


About This Site

I built this site to explore the different components of modern web infrastructure. I wanted to abstract away as little as possible. Starting with an Ubuntu virtual machine (VM), I set up the server processes, TLS, and a deployment pipeline.

Building the Site

The site is built using pug as a templating engine. HTML, CSS, Static Assets, and Scripts are output from the build step and deployed to the VM via SSH.

Infrastructure

Digital Ocean hosts the site on a tiny (1 vCPU with 1 GB Memory) droplet running Ubuntu. It costs six dollars a month to operate 🤯.

NGINX serves the site. Certbot provides automatic SSL certificate provisioning.

Api Services

Two API's, running on a subdomain, are hosted on the same droplet using NGINX as an API Gateway. Each API runs in its own docker container. NGINX handles the TLS termination, rate limiting, authentication, and adds distributed tracing headers.