31 lines
600 B
Docker
31 lines
600 B
Docker
# 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"]
|