Self-Hosted Infrastructure
A personal infrastructure stack built around TrueNAS, Docker, Caddy, Cloudflare Tunnel, Uptime Kuma, Pterodactyl, and self-hosted services. The goal is to run practical services from my own hardware while learning networking, monitoring, storage, and system administration.
This project is my personal server and services environment. It hosts my website, game server panel, photo service, service monitoring, and supporting infrastructure. It is designed to be practical, maintainable, and useful rather than just a lab demo.
- Host public and private web services from home infrastructure
- Learn and document networking, containers, reverse proxying, and monitoring
- Use Cloudflare Tunnel to expose services without opening standard inbound ports
- Monitor service availability with Uptime Kuma and a integrated status display
TrueNAS is used as the base storage and server platform. It provides the underlying datasets, storage organisation, and host environment for application data and services.
Services are run as containers where practical, allowing the stack to be separated into individual applications such as Caddy, Uptime Kuma, Pterodactyl, and photo hosting.
Caddy is used for local web serving and reverse proxy style routing. It serves the static website files and integrates neatly with the hosted service layout.
Cloudflare Tunnel provides external access to services such as the website, service status, game panel, and photos without relying on normal port forwarding for each service.
Static engineering portfolio hosted from the webserver directory and exposed publicly through Cloudflare Tunnel.
Pterodactyl is exposed through Cloudflare Tunnel and currently manages Minecraft, Satisfactory, and Valheim game servers managed through the self-hosted game hosting platform.
Self-hosted photo service for personal image management and gallery access, exposed through the public/private service routing.
Uptime Kuma monitors the major public and infrastructure endpoints and provides the live service status displayed on this website.
Cloudflare Tunnel provides controlled external access to selected services without relying on direct inbound port forwarding. Caddy handles local routing and HTTPS for the web-facing applications.
- Cloudflare Tunnel for external access
- Caddy for reverse proxying and HTTPS
- DNS managed through Cloudflare
Uptime Kuma checks the major public and infrastructure endpoints and feeds a simplified live status display on the portfolio website.
- Website availability monitoring
- Home lab host monitoring
- Game hosting, photo, media, and backup monitoring
This project can be expanded with diagrams, screenshots, network maps, backup strategy, service uptime statistics, and hardware details.
- Add hardware/server specifications
- Add network and service routing diagram
- Document backup and snapshot strategy
- Add selected infrastructure screenshots and network diagrams
- Add lessons learned and troubleshooting notes