Self-Hosted & Open Source

Guides for running your own services instead of renting them from hyperscalers. Covers Nextcloud for file sync, Jellyfin for media, Vaultwarden for passwords, Gitea for version control, and dozens of other open source platforms that replace the subscription stack most people default to. Every guide includes the Docker Compose file, the reverse proxy config, the backup approach, and the failure modes we have hit in production. Self-hosting is not about paranoia. It is about owning the infrastructure your life runs on, understanding how it works, and keeping your data under your own roof. If you want sovereignty over your digital life, this is the practical path.

Project NOMAD: Self-Hosted Internet in a Box for Practitioners

A weekend rabbit hole worth sharing. I stumbled across Project NOMAD a few days ago. It’s an open-source bundle (Apache 2.0, runs in Docker) that puts the useful parts of the internet on a Raspberry Pi or a mini-PC. The first thing that surprised me was that I’d never heard of it. The second was […]

Project NOMAD: Self-Hosted Internet in a Box for Practitioners Read More »

Install Docker on Debian 12 and Ubuntu 22.04 LTS (2026)

Docker is the tool you’ll use most in any modern homelab. Almost every self-hosted service in 2026 ships as a container, and most of the tutorials on this blog assume you’ve got it installed and working. This post is the quick, reliable way to get Docker running on Debian 12, Debian 13 (trixie), Ubuntu 22.04

Install Docker on Debian 12 and Ubuntu 22.04 LTS (2026) Read More »

Terminal showing docker compose up command deploying a multi-container stack

Docker Compose for Beginners: A Practical Guide

What Docker Compose Actually Is (and Isn’t) Docker Compose is a way to define and run multi-container applications using a single YAML file. Instead of typing out long docker run commands with a dozen flags, you describe what you want in a file called docker-compose.yml and run docker compose up -d. That’s it. From the

Docker Compose for Beginners: A Practical Guide Read More »

Debian 12 terminal with Docker Engine installed and running, showing docker version output

How to Install Docker on Debian 12 (Bookworm)

Why Debian 12 for Docker Debian is what Ubuntu is built on, but without the extras. No snap packages, no Ubuntu Pro nag screens, no Canonical telemetry, no systemd-resolved stub resolver causing DNS headaches in containers. It’s a leaner, more predictable base for a Docker host, and there’s a reason it’s the default choice for

How to Install Docker on Debian 12 (Bookworm) Read More »

Terminal showing a Minecraft server starting on Ubuntu 24.04 with Java 21

How to Set Up a Minecraft Server on Ubuntu 24.04

Why a Minecraft Server Is the Best First Server Project I have been running servers professionally for over twenty years. Linux, Windows, bare metal, virtualised, containerised, on-prem, cloud. And if someone asked me what the single best learning project is for someone who wants to understand server administration, I would tell them to set up

How to Set Up a Minecraft Server on Ubuntu 24.04 Read More »

Scroll to Top