Documentation
Welcome to the documentation page! Here you'll find detailed information about how I set up my website and the services I host.
Website Setup
I am using a Cloudflare domain from their registrar, which is a paid service per year. My website is hosted on GitHub Pages, where I created a pages repository and linked my domain to it. Additionally, I created a DNS record on Cloudflare to point to the GitHub Pages IP address. The website is built using simple HTML and CSS files.
Accessing Services with Cloudflare Zero Trust Tunneling
To access all of my services over the internet securely, I use Cloudflare's Zero Trust Tunneling service. This allows me to create subdomains that point to my internal services without exposing my home IP address.
With Zero Trust, I can define specific access controls, ensuring that only authorized users can access the web interfaces of my services. This includes a verification step before granting access, which adds an additional layer of security. By doing so, I protect my services from unauthorized access while allowing seamless connectivity for legitimate users.
Hosting Services
I have a home server based on an HP Compaq Elite 8300, running Proxmox as a Type 1 hypervisor. I have Ubuntu Server installed as a VM because it is lightweight, and all management is done through SSH and the command line.
Inside the Ubuntu Server, I installed CasaOS, which is a user-friendly platform for managing self-hosted Docker applications.
Services Hosted on CasaOS
- Helpdesk: I am using UVDesk for ticket management.
- Monitoring Service: Uptime Kuma for monitoring service uptime.
- AdGuard Home: A DNS sinkhole for blocking unwanted content.
- Nextcloud: A personal cloud solution for file storage.
- VaultWarden: A private password manager.
- Apache Guacamole: For web GUI management of all hosts.
- Kasm: A private browser instance.
- Crafty: My Minecraft server.
Crafty and Tunneling Setup
For my Minecraft server (Crafty), I use Playit.gg as a tunneling service. This allows me to create a secure tunnel to my server without exposing my home IP address.
After setting up Playit.gg, I create DNS records on my domain to point the Playit.gg server address to my subdomain, ensuring that players can connect easily to my Minecraft server.