# 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 \
    PORT=3000 \
    D1_BINDING=aknaproff-db \
    PERSIST_PATH=/data

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

# Create data directory
RUN mkdir -p /data

EXPOSE 3000

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

# Start wrangler directly (no bash script needed)
CMD ["npx", "wrangler", "pages", "dev", "dist", \
     "--local", \
     "--d1=aknaproff-db", \
     "--persist-to=/data", \
     "--ip=0.0.0.0", \
     "--port=3000"]
