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, status 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 public status page
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, status page, game panel, and photos without relying on normal port forwarding for each service.
Static engineering portfolio and service hub hosted from the webserver directory and exposed publicly through Cloudflare Tunnel.
Pterodactyl is exposed through Cloudflare Tunnel and currently manages a dedicated 7 Days to Die server, including start/stop access, server management, and backup workflows.
Self-hosted photo service for personal image management and gallery access, exposed through the photos subdomain.
Uptime Kuma monitors public services and provides a status page for visibility into website, game panel, photo service, and infrastructure availability.
The system is organised around subdomains that point to specific internal services through Cloudflare Tunnel.
- jacksonvoigt.com → main website served by Caddy
- panel.jacksonvoigt.com → Pterodactyl game server portal
- photos.jacksonvoigt.com → self-hosted photo service
- status.jacksonvoigt.com → Uptime Kuma public status page
Uptime Kuma checks critical endpoints and gives a simple overview of whether the hosted services are online. This also makes the website feel more like a live system rather than a static page.
- HTTP checks for websites and hosted services
- TCP checks for game server ports where needed
- Public status page for external visibility
- Future option for Discord or email alerts
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
- Add backup/snapshot strategy
- Add screenshots of Uptime Kuma, Pterodactyl, and service dashboards
- Add lessons learned and troubleshooting notes