cron para dokploy

This commit is contained in:
2026-06-10 16:01:02 -04:00
parent be00c8c58a
commit 0fbdf90ed2

View File

@@ -28,16 +28,23 @@ RUN yarn install --production && \
# ---------- Runtime stage ---------- # ---------- Runtime stage ----------
FROM node:20-alpine AS runtime FROM node:20-alpine AS runtime
# Crear el usuario y grupo del sistema
RUN addgroup -S appgroup && adduser -S appuser -G appgroup RUN addgroup -S appgroup && adduser -S appuser -G appgroup
WORKDIR /app WORKDIR /app
# Copiar los archivos desde el builder
COPY --from=builder /app/package.json . COPY --from=builder /app/package.json .
COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/src ./src COPY --from=builder /app/src ./src
# CRUCIAL: Asegurar que appuser sea dueño de la carpeta de la app
# Esto evita problemas si el script 'actualizarToken.js' necesita escribir logs o archivos temporales
RUN chown -R appuser:appgroup /app
ENV NODE_ENV=production ENV NODE_ENV=production
# Mantenemos el usuario seguro para la ejecución normal de la app
USER appuser USER appuser
EXPOSE 3000 EXPOSE 3000
@@ -45,4 +52,5 @@ EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s \ HEALTHCHECK --interval=30s --timeout=5s --start-period=5s \
CMD node -e "require('http').get('http://localhost:3000/health', () => process.exit(0)).on('error', () => process.exit(1))" CMD node -e "require('http').get('http://localhost:3000/health', () => process.exit(0)).on('error', () => process.exit(1))"
# CMD ["node", "src/index.js"] # Comando por defecto para iniciar tu aplicación (descoméntalo si Dokploy no lo maneja externamente)
CMD ["node", "src/index.js"]