Project Status: Architecture Showcase / Boilerplate.
Infraestructura de Servidor FiveM de Alta Disponibilidad y Seguridad
Este repositorio presenta una implementación de referencia para el despliegue de servidores FiveM utilizando prácticas modernas de DevOps y Containerización. El proyecto demuestra una arquitectura diseñada para la seguridad, escalabilidad y mantenibilidad, utilizando Docker para la orquestación de servicios y WireGuard para la protección de red.
Este boilerplate fue diseñado para resolver desafíos comunes en la administración de servidores de juegos:
- Mitigación DDoS: Implementación de un patrón de "Secure Gateway" mediante túneles VPN.
- Aislamiento de Servicios: Separación estricta de responsabilidades (Game Server, Database, Cache).
- Infraestructura como Código (IaC): Despliegue reproducible y versionado.
La característica central de este proyecto es su enfoque en la seguridad de red mediante el aislamiento de contenedores.
En lugar de exponer el servidor de juegos directamente a la red pública, esta arquitectura utiliza un contenedor intermediario que actúa como puerta de enlace segura.
- Aislamiento de Red: El contenedor del servidor FiveM no expone puertos públicos directamente.
- Enrutamiento Seguro: Todo el tráfico entrante y saliente es encapsulado a través de una interfaz VPN (WireGuard).
- Protección de Origen: La IP real del servidor de alojamiento permanece oculta, reduciendo la superficie de ataque.
- FiveM (Cfx.re): Motor del servidor.
- Qbox Project: Framework de rol moderno, optimizado y modular.
- Docker & Docker Compose: Orquestación de contenedores y redes.
- MariaDB 10.6: Persistencia de datos relacional.
- Redis: Capa de caché de alto rendimiento para sesiones y datos temporales.
- WireGuard: Protocolo VPN de última generación para el túnel seguro.
- Linux Namespaces: Utilizados por Docker para el aislamiento de procesos y red.
La estructura del repositorio sigue las mejores prácticas para mantener el código limpio y separado de la configuración de infraestructura.
FiveM-Qbox/
├── .config/ # Configuraciones de servicios externos
├── resources/ # Lógica del juego y scripts (Lua/JS)
├── txData/ # Datos persistentes de administración
├── docker-compose.yml # Definición de arquitectura de producción
├── Dockerfile # Definición de imagen del servidor
└── .env.example # Plantilla de variables de entorno
Este proyecto utiliza variables de entorno para manejar secretos y configuraciones, siguiendo la metodología 12-Factor App.
El archivo .env (no incluido en el repositorio por seguridad) gestiona:
- Credenciales de Base de Datos
- Claves de API (Steam, FiveM License)
- Secretos de conexión VPN
El despliegue se realiza mediante Docker Compose, levantando la pila completa de servicios:
docker-compose up -dEste repositorio es una demostración de arquitectura segura. Por razones de seguridad:
- No se incluyen claves privadas ni certificados reales.
- Las configuraciones de red mostradas son ejemplos de implementación.
- Los archivos sensibles están excluidos mediante
.gitignore.
Este proyecto se distribuye bajo la licencia MIT, permitiendo su uso y modificación con fines educativos y comerciales, siempre que se mantenga la atribución.
Este proyecto forma parte de mi portafolio como Desarrollador Full Stack / DevOps, demostrando competencias en:
- Administración de Sistemas Linux
- Seguridad de Redes y VPNs
- Docker y Orquestación de Contenedores
- Gestión de Bases de Datos SQL y NoSQL