# Usa una imagen base liviana de Node.js
FROM node:22.10.0-alpine

# Crea un usuario no root para mayor seguridad
RUN adduser -D appuser

# Establece directorio de trabajo
WORKDIR /app

# Instala herramientas para compilar dependencias nativas
RUN apk add --no-cache python3 make g++

# Copia e instala dependencias
COPY package*.json ./
RUN npm install

# Copia el resto del proyecto
COPY . .

# Da permisos a todo el proyecto a appuser
RUN chown -R appuser:appuser /app

# Cambia a ese usuario
USER appuser

# Expone el puerto
EXPOSE 3051

# Comando para desarrollo
CMD ["npm", "run", "start:dev"]
