FROM node:18-alpine WORKDIR /app RUN apk add --no-cache curl COPY package*.json ./ RUN npm ci --only=production COPY . . RUN addgroup -g 1001 -S appgroup && \ adduser -S appuser -u 1001 -G appgroup RUN mkdir -p /data/jobs && chown -R appuser:appgroup /app /data/jobs USER appuser EXPOSE 4000 HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:4000/health || exit 1 CMD ["npm", "start"]