# 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"]