Personal Server Infrastructure

The very server delivering this website to your screen! This project highlights my ability to design, deploy, and maintain a robust, 24/7 Linux environment utilizing modern containerization and networking principles.

Architecture Overview

The infrastructure runs on a dedicated Linux host. All services are isolated within Docker containers and communicate over a custom internal Docker network bridge, minimizing the exposed attack surface.

Reverse Proxy & Routing

Traffic management is handled by Nginx Proxy Manager.

  • Terminates SSL/TLS connections automatically via Let's Encrypt.
  • Routes incoming HTTP/HTTPS requests to the appropriate internal Docker containers.
  • The only container exposing ports (80 and 443) directly to the public internet.

Network-Wide Ad Blocking

A dedicated Pi-hole instance operates as the local DNS server.

  • Blocks telemetry and malicious domains at the network level.
  • Operates behind the proxy network on customized internal ports to prevent conflicts.
  • Enhances privacy and bandwidth efficiency for the entire home network.

Secure Remote Access

A WireGuard VPN server provides secure administrative access.

  • Facilitates safe, encrypted access to internal services without exposing management interfaces to the internet.
  • Integrated with Dynamic DNS (DuckDNS) to ensure continuous connectivity despite changing public IP addresses.
  • Kernel-level networking capabilities for high performance and low overhead.

Static Site Hosting

This portfolio is served by an ultra-lightweight Nginx Alpine container.

  • Files are built statically (Vite) and hosted via an independent Nginx instance.
  • Connected solely to the internal proxy network—the reverse proxy fetches the site and delivers it to you.
  • Zero server-side execution minimizes security vulnerabilities.
Back to Projects