# syntax=docker/dockerfile:1

# ---------- Build stage ----------
FROM node:20-bookworm-slim AS builder
WORKDIR /app

COPY package.json package-lock.json ./
RUN npm install

COPY . .
RUN npm run build

# ---------- Runtime stage ----------
FROM node:20-bookworm-slim
WORKDIR /app

ENV NODE_ENV=production \
    WRANGLER_SEND_METRICS=false

# Copy everything from builder (includes node_modules, dist, migrations, etc.)
COPY --from=builder /app /app

RUN chmod +x /app/docker-entrypoint.sh

EXPOSE 3000

# Persist D1 SQLite data and seed marker between restarts
VOLUME ["/data"]

ENTRYPOINT ["/app/docker-entrypoint.sh"]
