Selfhost: From code to production
A self-hosted operations platform that brings deployment, service health and recovery into one control panel.
I was spending too much time deploying, monitoring and recovering several applications. To make this easier, I built a .NET 8 Blazor Server control panel for Docker workloads, with a Node.js host agent and PostgreSQL. GitHub Actions publishes images to GHCR. Cloudflare Tunnel exposes services, while Cloudflare Access protects the control panel. Repository checks lead into a release process that builds, runs and verifies each service before it goes live. Deployments wait for health checks and can roll back. Today, the panel shows live service health, CPU, memory and logs, alongside deploy history, backups, restore drills and an activity audit. It gives me one place to manage routine releases and recovery.
- .NET 8
- Blazor Server
- PostgreSQL
- Docker
- Node.js
- GitHub Actions
- Cloudflare