FROM node:18-alpine WORKDIR /app # Install system dependencies RUN apk add --no-cache curl # Copy package files and install dependencies COPY package*.json ./ RUN npm install # Copy server file COPY server.js ./ # Create non-root user RUN addgroup -g 1001 -S app && \ adduser -S app -u 1001 -G app && \ chown -R app:app /app USER app EXPOSE 8008 HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD curl -f http://localhost:8008/api/health || exit 1 CMD ["npm", "start"]