2025-06-17 09:19:17 -06:00
|
|
|
# Usa una imagen base liviana de Node.js
|
2025-06-13 16:10:25 -06:00
|
|
|
FROM node:22.10.0-alpine
|
|
|
|
|
|
2025-06-17 09:19:17 -06:00
|
|
|
# Crea un usuario no root para mayor seguridad
|
|
|
|
|
RUN adduser -D appuser
|
|
|
|
|
|
|
|
|
|
# Establece directorio de trabajo
|
2025-06-13 16:10:25 -06:00
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-06-17 09:19:17 -06:00
|
|
|
# Instala herramientas para compilar dependencias nativas
|
|
|
|
|
RUN apk add --no-cache python3 make g++
|
2025-06-13 16:10:25 -06:00
|
|
|
|
2025-06-17 09:19:17 -06:00
|
|
|
# Copia e instala dependencias
|
|
|
|
|
COPY package*.json ./
|
2025-06-13 16:10:25 -06:00
|
|
|
RUN npm install
|
|
|
|
|
|
2025-06-17 09:19:17 -06:00
|
|
|
# Copia el resto del proyecto
|
2025-06-13 16:10:25 -06:00
|
|
|
COPY . .
|
|
|
|
|
|
2025-06-17 09:19:17 -06:00
|
|
|
# Da permisos a todo el proyecto a appuser
|
|
|
|
|
RUN chown -R appuser:appuser /app
|
|
|
|
|
|
|
|
|
|
# Cambia a ese usuario
|
|
|
|
|
USER appuser
|
|
|
|
|
|
|
|
|
|
# Expone el puerto
|
2025-06-13 16:10:25 -06:00
|
|
|
EXPOSE 3051
|
|
|
|
|
|
2025-06-17 09:19:17 -06:00
|
|
|
# Comando para desarrollo
|
|
|
|
|
CMD ["npm", "run", "start:dev"]
|