FROM node:20-bookworm-slim

# better-sqlite3 是原生模块，需要编译工具
RUN apt-get update && apt-get install -y \
    python3 make g++ \
  && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# 先单独拷 package*.json，利用 docker 层缓存
COPY package*.json ./
RUN npm install --omit=dev

COPY src ./src

ENV NODE_ENV=production
EXPOSE 3000

CMD ["node", "src/index.js"]
