Simplificar Docker a imagen única y actualizar workflow CI/CD

This commit is contained in:
2025-08-15 12:18:42 -06:00
parent 232c159baf
commit c0fa1e4e70
3 changed files with 66 additions and 0 deletions

18
.dockerignore Normal file
View File

@@ -0,0 +1,18 @@
node_modules
*/node_modules
npm-debug.log
.git
.gitignore
*.log
.env
.env.local
.DS_Store
dist
*/dist
.vscode
.idea
*.md
*.mmd
*.pdf
*.png
.gitea

33
Dockerfile Normal file
View File

@@ -0,0 +1,33 @@
FROM node:18-alpine
WORKDIR /app
# Copiar archivos de configuración
COPY package*.json ./
COPY server/package*.json ./server/
COPY client/package*.json ./client/
# Instalar dependencias
RUN npm install
RUN cd server && npm install
RUN cd client && npm install
# Copiar código fuente
COPY . .
# Compilar servidor y cliente
RUN cd server && npm run build
RUN cd client && npm run build
# Instalar serve para servir archivos estáticos
RUN npm install -g serve
# Script de inicio
COPY start.sh /app/start.sh
RUN chmod +x /app/start.sh
# Exponer puertos
EXPOSE 3000 2567
# Ejecutar ambos servicios
CMD ["/app/start.sh"]

15
start.sh Normal file
View File

@@ -0,0 +1,15 @@
#!/bin/sh
# Iniciar el servidor Colyseus en background
echo "Starting Colyseus server..."
cd /app/server && node dist/index.js &
# Esperar un momento para que el servidor inicie
sleep 2
# Servir el cliente compilado
echo "Starting client server..."
cd /app/client && serve -s dist -l 3000 &
# Mantener el contenedor corriendo
wait