TLC Tech Lab
Project Writeup

Self-Hosted Portfolio Website

The production-style web service behind TLCTechLab.com, hosted in a dedicated Debian LXC container with Nginx and published through Cloudflare.

Project Goal

The goal of this project is to operate my technical portfolio as a self-hosted service rather than relying on a hosted site builder. The environment gives me direct responsibility for the Linux workload, Nginx configuration, public publishing, HTTP security controls, content deployment, rollback copies, and ongoing maintenance.

Public documentation intentionally excludes internal addressing, origin details, credentials, tunnel identifiers, and private infrastructure configuration.

Architecture

Internet Visitor | v Cloudflare (HTTPS / Proxy / DNS) | v Cloudflare Tunnel | v Debian 13 LXC | +-- Nginx 1.26.3 | +-- Portfolio Homepage | +-- Project Documentation | +-- Resume PDF | +-- Custom 404 Page | +-- HTTP Security Headers +-- Search-Index Exclusion

Technologies Used

Debian 13 Nginx 1.26.3 Proxmox VE LXC Cloudflare Tunnel HTTPS HSTS Content Security Policy X-Robots-Tag HTTP Redirects Custom Error Handling Static HTML PowerShell Deployment

What I Built

Security Considerations

Operational Value

Running the portfolio as an actual service creates a small but complete web-operations workflow: Linux administration, Nginx configuration, publishing, security headers, content deployment, rollback planning, cache behavior, HTTP validation, and public troubleshooting all have to work together.

The site also gives me a controlled place to document professional and independent infrastructure work while keeping client identities, internal addressing, credentials, and other sensitive configuration out of public documentation.

Project Status

Active and operational. The portfolio currently runs on Debian 13 with Nginx 1.26.3 active and enabled. The public homepage returns HTTP 200 through Cloudflare, the resume is served as a PDF, the custom 404 handler is active, and the site returns both HTTP-header and HTML noindex protection.