R. A.

How this site runs

This site runs on a single small virtual machine with 1 GB of memory. There is no hosting platform or page builder involved. Everything below was set up by hand, which was the point of the exercise.

The pieces

  • Caddy is the web server. It answers every request, gets an HTTPS certificate from Let's Encrypt on its own, and renews it before it expires.
  • Plain files make up almost the whole site. The pages are HTML, CSS and a little JavaScript.
  • This note is a Markdown file. Caddy turns it into a page when you open it, so publishing means uploading one text file.
  • A status collector runs every five minutes and writes a small JSON file with the server's load, memory and disk use. The status page draws its charts from that file.
  • A visit counter is the only part that runs as a separate program. It listens only inside the server, and Caddy forwards exactly two addresses to it.

What I kept off the site

No IP addresses, internal hostnames, usernames or file paths appear on any page. The status page shows percentages and timings, not anything that would help someone attack the machine. Security headers tell browsers to load scripts and styles only from this site, so injected code has nowhere to run.

What it costs

The server runs on a cloud free plan for now, and the name comes from DuckDNS, a free dynamic DNS service. The How it works page follows a real request through all of this, with timings from your own visit.

Tüm notlar