FROM node:20-alpine

RUN apk add --no-cache g++ make python3 py3-pip

RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
WORKDIR /home/node/app

COPY --chown=node:node package*.json ./

USER node

RUN npm ci --only=production

COPY --chown=node:node . .

RUN npm run build

EXPOSE 4000

CMD ["node", "dist/main.js"]
