FROM node:22-alpine AS builder WORKDIR /app # sodium-native needs build tools on Alpine RUN apk add --no-cache python3 make g++ COPY package.json package-lock.json ./ RUN npm ci --ignore-scripts=false COPY tsconfig.json ./ COPY src/ ./src/ RUN npm run build # --- Production image --- FROM node:22-alpine WORKDIR /app RUN apk add --no-cache python3 make g++ COPY package.json package-lock.json ./ RUN npm ci --omit=dev --ignore-scripts=false && \ apk del python3 make g++ && \ rm -rf /root/.npm /tmp/* COPY --from=builder /app/dist ./dist ENV PORT=8080 ENV HOST=0.0.0.0 EXPOSE 8080 USER node CMD ["node", "dist/cli.js"]