FROM node:20-alpine

# better-sqlite3 requires a native compile step via node-gyp.
# Alpine does not ship these tools by default, so install them first.
RUN apk add --no-cache python3 make g++

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 4000

CMD ["npm", "run", "dev"]
