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.