Cloudflare
In this deployment, Cloudflare is used for DNS management and anonymizing my IP.
It also allows me to have a strong and resilient backbone for this site and its different component
Nginx
In this special case, we use nginx as a reverse proxy to anonymize all the game server IPs. It avoids "leaking" my approximate location.
This layer is only needed on game servers as all the web traffic is handled by Cloudflare just above!
Internal Network Security
So from here onward. Your request has entered my LAN (To be exact a segregated VLAN for enhanced security).
This is where the fun begins. I use a combination of different tools to ensure the security of my network.
They range from a normal firewall to more advanced IDS/IPS and even some surprises I wouldn't want to spoil (for my home network safety).
HAproxy
In this stack, HAproxy is used as an L7 & L4 Load Balancer (L7 for the web traffic and L4 for the game traffic).
From this point onward I also collect data on the traffic and the server health.
If your request arrives here, HAproxy would "read" it, before forwarding it to the correct service.
The following tech is used to host those services
In this stack we don't host any service as bare metal
Docker
We host several services in docker containers.
To manage them we use portainer as a web GUI. This UI allows less tech-savvy people to manage the services.
Or
Proxmox
The literal beating heart of this whole lab.
Proxmox is used to virtualize all the services. Portainer included.