33 lines
689 B
Docker
33 lines
689 B
Docker
FROM node:18-alpine
|
|
|
|
# Instalar wget para healthcheck
|
|
RUN apk add --no-cache wget
|
|
|
|
WORKDIR /app
|
|
|
|
# Copiar archivos de dependencias
|
|
COPY package.json package-lock.json* ./
|
|
|
|
# Instalar dependencias
|
|
RUN npm ci --only=production
|
|
|
|
# Copiar código de la aplicación
|
|
COPY server.js .
|
|
COPY config/ ./config/
|
|
COPY middlewares/ ./middlewares/
|
|
COPY routes/ ./routes/
|
|
COPY services/ ./services/
|
|
COPY utils/ ./utils/
|
|
COPY ../workers.json ./workers.json
|
|
|
|
# Exponer puerto
|
|
EXPOSE 3001
|
|
|
|
# Healthcheck
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD wget --quiet --tries=1 --spider http://localhost:3001/api/stats || exit 1
|
|
|
|
# Comando por defecto
|
|
CMD ["node", "server.js"]
|
|
|