08 Feb 2026 - WWW
Tags: Copilot | Ubuntu | NPM | GitHub | VSCode
For years I’ve worked in IT, but always within the boundaries of enterprise systems, established platforms, and predictable workflows. My homelab has always been the place where I get to break out of that mould — a sandbox where I can experiment, learn, and build things end‑to‑end without the constraints of corporate environments.
Recently, I decided it was time to carve out a personal space on the web. Not a WordPress install, not a heavy CMS, not a hosted drag‑and‑drop builder — I wanted something lightweight, elegant, and fully under my control. Something I could build, break, fix, and understand from top to bottom.
That’s where Jekyll came in.
I’ve always liked the simplicity of Markdown. There’s something refreshing about writing content without the noise of a full CMS. Jekyll’s promise — “Transform your plain text into static websites and blogs” — immediately clicked with me.
A static site meant:
And because I wanted to learn something new, Jekyll felt like the perfect blend of simplicity and technical depth.
Once I committed to the idea, the rest of the stack fell into place naturally.
It’s familiar, stable, and already part of my homelab. Perfect foundation.
I wanted proper version control, a backup, and a clean way to edit from multiple machines. Plus, I’ve been meaning to use GitHub more in my personal projects.
This was a game‑changer. Editing files directly on the server from Windows, with full VS Code features, felt seamless. It also meant no messy sync setups or duplicated environments.
I already use NPM for other services, and its built‑in Let’s Encrypt support makes SSL effortless. It slotted perfectly into the architecture. Clean, simple, and secure.
I decided to follow Jekyll’s official step‑by‑step tutorial from scratch. It was surprisingly approachable — once Jekyll was installed, everything else flowed naturally.
I stripped the project back to the bare essentials:
_config.ymlGemfile.gitignoreThen I built the site piece by piece:
It was refreshing to build something so clean and minimal. No plugins, no bloat — just HTML, Markdown, and a sprinkle of CSS.
Once the site was generating clean static files, deployment became almost trivial.
I’d installed Nginx for hosting to site, set up a dedicated directory on the Ubuntu server:
/var/www/jekyll-site
Then a simple command to deploy updates:
rsync -av --delete _site/ /var/www/jekyll-site/
One command, and the live site updates instantly.
Nginx Proxy Manager handled the domain and SSL certificate with ease. A couple of tweaks, a forced HTTPS redirect, and suddenly the site was live — publicly accessible, secure, and running entirely from my homelab.
Even though nothing was particularly difficult, the whole process was full of small discoveries:
It wasn’t just about building a website — it was about expanding my homelab skills, connecting tools I’d never combined before, and learning a new way of thinking about web content.
Now I have:
And the best part?
You’re reading this on the very site I built.
There’s something deeply satisfying about taking an idea, learning the tools, wiring everything together, and seeing it live on the internet — all powered by my own infrastructure.
This project reminded me why I love my homelab: it’s a place where curiosity turns into capability, and where learning something new is part of the fun.
Resources: Jekyll | Simple CSS
I don't have comments on this site as they're difficult to manage and take up too much time. I'd rather concentrate on producing content than managing comments.
Since there are no comments, feel free to contact me instead.