| FROM node:22-bookworm-slim AS deps | |
| WORKDIR /app | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends python3 make g++ \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY package*.json ./ | |
| RUN npm ci | |
| FROM node:22-bookworm-slim AS build | |
| WORKDIR /app | |
| COPY --from=deps /app/node_modules ./node_modules | |
| COPY . . | |
| RUN npm run build | |
| FROM deps AS prod-deps | |
| WORKDIR /app | |
| RUN npm prune --omit=dev | |
| FROM node:22-bookworm-slim AS runtime | |
| WORKDIR /app | |
| ENV NODE_ENV=production | |
| COPY --from=prod-deps /app/node_modules ./node_modules | |
| COPY --from=build /app/package*.json ./ | |
| COPY --from=build /app/dist ./dist | |
| RUN mkdir -p /app/data | |
| EXPOSE 3000 | |
| CMD ["node", "/app/dist/server/index.js"] | |