FROM node:22-alpine WORKDIR /app RUN apk add --no-cache su-exec COPY package.json package-lock.json ./ RUN npm ci --omit=dev COPY --chown=node:node . . COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN chmod 755 /usr/local/bin/docker-entrypoint.sh EXPOSE 3000 ENTRYPOINT ["docker-entrypoint.sh"] CMD ["node", "server.js"]