3.1 KiB
3.1 KiB
Deployment de SnatchGame
Esta carpeta contiene todos los archivos y documentación necesarios para desplegar SnatchGame en diferentes entornos.
📁 Estructura de archivos
deploy/
├── Dockerfile # Imagen Docker de la aplicación completa
├── start.sh # Script de inicio para el contenedor
├── dockerignore # Archivos a ignorar en build (renombrar a .dockerignore)
├── NGINX-CONFIG.md # Configuración de Nginx Proxy Manager
├── DEPLOY-GCLOUD.md # Guía de despliegue en Google Cloud
├── deploy-to-production.sh # Script automatizado de deployment completo
└── gcloud/ # Scripts específicos para Google Cloud
├── create-vm.sh # Script para crear la VM
├── startup-script.sh # Script de inicio de la VM
└── update-deployment.sh # Script para actualizar deployment
🚀 Despliegue rápido
Opción 1: Docker local
cd deploy
cp dockerignore .dockerignore
docker build -t snatchgame .
docker run -p 3000:3000 -p 2567:2567 snatchgame
Opción 2: Google Cloud VM (Automatizado) ✅ RECOMENDADO
# Deployment completo automatizado a producción
./deploy/deploy-to-production.sh
Estado: ✅ Probado y funcionando - Usado exitosamente: 1 vez
📝 Importante: Actualizar este contador cada vez que el script funcione correctamente
Opción 3: Google Cloud VM (Manual)
Ver DEPLOY-GCLOUD.md para instrucciones detalladas.
Opción 4: Con Nginx Proxy Manager
Ver NGINX-CONFIG.md para configuración de proxy reverso.
🔧 Configuración de Docker
Build de la imagen
# Desde la raíz del proyecto
docker build -f deploy/Dockerfile -t josedario87/snatchgame:latest .
# O desde la carpeta deploy
cd deploy
cp dockerignore .dockerignore
docker build -t josedario87/snatchgame:latest ..
Push a DockerHub
docker login
docker push josedario87/snatchgame:latest
📊 Puertos utilizados
- 3000: Frontend (Vue.js)
- 2567: Backend (Colyseus WebSocket y API)
🌐 URLs del juego
- Frontend:
http://localhost:3000 - API:
http://localhost:2567/api - WebSocket:
ws://localhost:2567/ws - Monitor:
http://localhost:2567/colyseus
🔄 Actualización del deployment
Método automatizado (Recomendado)
./deploy/deploy-to-production.sh
Este script hace todo automáticamente:
- Construye imagen sin cache
- Sube a DockerHub
- Actualiza la VM en Google Cloud
- Reinicia el contenedor
Método manual
- Hacer cambios en el código
- Reconstruir imagen:
docker build -t josedario87/snatchgame:latest . - Push a DockerHub:
docker push josedario87/snatchgame:latest - En el servidor:
docker pull josedario87/snatchgame:latest && docker restart snatchgame
📝 Notas importantes
- El archivo
dockerignoredebe renombrarse a.dockerignorecuando se use - Los scripts de
gcloud/requieren configuración específica del proyecto - La imagen Docker incluye tanto frontend como backend en un solo contenedor
- Se recomienda usar variables de entorno para configuración sensible