FROM node:24-slim AS base ENV PNPM_HOME=/pnpm PATH=/pnpm:$PATH RUN corepack enable WORKDIR /app FROM base AS build # Инструменты сборки на случай, если для better-sqlite3 не найдётся готового бинарника. RUN apt-get update && apt-get install -y --no-install-recommends python3 make g++ && rm -rf /var/lib/apt/lists/* COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile COPY tsconfig.json ./ COPY src ./src RUN pnpm build && pnpm prune --prod FROM base AS runtime ENV NODE_ENV=production DB_PATH=/app/data/bot.db COPY --from=build /app/package.json ./ COPY --from=build /app/node_modules ./node_modules COPY --from=build /app/dist ./dist RUN mkdir -p /app/data && chown -R node:node /app/data USER node VOLUME ["/app/data"] CMD ["node", "dist/index.js"]