Files
SQL-INYECTOR/Dockerfile
2026-01-19 12:12:38 -03:00

39 lines
927 B
Docker

# --- Stage 1: Build ---
FROM node:20-alpine AS builder
WORKDIR /usr/src/app
# Copiar archivos de dependencias
COPY package*.json ./
# Instalar TODAS las dependencias (incluyendo devDependencies para posibles builds)
RUN npm install
# Copiar el resto del código
COPY . .
# --- Stage 2: Production ---
FROM node:20-alpine
WORKDIR /usr/src/app
# Establecer entorno de producción
ENV NODE_ENV=production
# Copiar solo los archivos necesarios de la etapa anterior
COPY --from=builder /usr/src/app/package*.json ./
COPY --from=builder /usr/src/app/src ./src
# Instalar solo dependencias de producción
RUN npm install --omit=dev
# Crear un usuario no root por seguridad
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser
# Exponer el puerto configurado en .env (por defecto 3120)
EXPOSE 3120
# Comando para iniciar la aplicación usando node directamente (no nodemon)
CMD ["node", "src/index.js"]