Johnosoft
A digital workshop. Self-hosted. Documented.
Hi, I'm John — a lifelong enthusiast of computing and software development. My passion ignited at the age of nine, when I first encountered a BASIC animation of a stick figure pushing a box. I've been chasing that spark ever since: BASIC on an IBM 286, Turbo C and dBase III as a sixth-grader, Borland C++ on the Canadian Computing Competition honor roll, and today as a full-time software engineer who runs a small fleet of self-hosted services for friends and family.
This site is the journal — guides, daily discoveries, and behind-the-scenes from one operator's homelab.
Service Status
Live health board for the public-facing services. Numbers below are placeholders pending the live-probe wiring (planned).
Recent Posts
Latest journal entries. Clean reading view in the blog section.
Building a DR pipeline for self-hosted services — Part 1
Self-hosting on a VPS is wonderful right up until the day it isn't. Your password manager is on it. Your git server is on it. Your photos, your calendars, your invoices, your "the family will need this if I'm unavailable" docs are on it. And then your provider goes silent for a week, or sends an automated suspension email at 3 a.m., or simply vanishes.
Hosting my own Nextcloud: a comprehensive guide
Self-hosting Nextcloud can be both a cost-effective and privacy-focused approach to file syncing, online collaboration, and more. In this post, I walk through how I set up a Nextcloud instance on a Proxmox VM behind a Cloudflare Tunnel, leveraging TrueNAS for affordable, redundant storage. I'll also cover critical backup plans and ongoing maintenance strategies to keep everything secure and reliable.
Setting up a self-hosted SSO service with Authentik
As my collection of self-hosted services kept growing, maintaining local user databases for each application quickly became a chore. The moment you want to share those services with family or friends — and especially if any of them are reachable from the public Internet — you need a proper, centralised authentication flow. Authentik solves this in one neat, open-source package.
Handling VM disk space shortage
As operations grow, VMs may exhaust their available storage due to logs, growing databases, or new services. While it's often preferable to store data on network or dedicated volumes and keep only configuration on the VM's main disk, sometimes you have to expand the disk in place. This post covers the Proxmox + LVM + filesystem resize chain end-to-end.
📧 Setting up a self-hosted email server with Mailcow
Self-hosting an email server has always been a hot topic among homelab enthusiasts and privacy-conscious users. After years of running various services in a Proxmox-based homelab — exposed selectively over the internet through Cloudflare tunnels — my focus shifted to creating a more integrated and privacy-preserving email solution. This post shares the rationale, benefits, and high-level setup details of running your own email server with Mailcow.