Home / Case studies / analogarray.org
Personal Project · Self-Hosted Publishing

analogarray.org

I host this portfolio on a home server and publish it through Cloudflare Tunnel, without opening inbound ports on my router.

Why I built it this way

I already had a server running at home, so hosting my portfolio there was a useful way to put it to work and learn more about publishing a site.

The main architectural choice was publishing through a Cloudflare Tunnel instead of opening inbound firewall ports. That keeps the home IP hidden, avoids open ports on the router, and sidesteps the dynamic-IP mess that comes with residential internet.

The result is a static portfolio running on my own hardware. I manage the frontend, server and deployment.

Outcome: A public site that runs from my own hardware, with no open inbound ports and no third-party hosting dependency.

Infrastructure decisions

01
Self-Hosted Hardware & OS
The site runs on a personal mini PC deployed as a home server on a minimal Linux installation. No rented VPS, no shared hosting, and no handoff of the stack to a third party.
Mini PC Linux 24/7 Uptime Data Ownership
02
Secure Public Exposure
Instead of exposing the home network with inbound firewall rules, the site is published through a Cloudflare Tunnel. It uses an outbound-only encrypted connection to Cloudflare's edge, which means the origin IP is never exposed and the router stays closed.
Cloudflare Tunnel Zero Open Ports DDoS Protection TLS Termination
03
Web Stack & Content
The portfolio uses HTML, CSS and JavaScript, served by Python. I can update the site directly and manage the deployment on the same server.
Static HTML/CSS/JS Subdomain Routing Python HTTP Server

Published site