- FIX: Dockerfile — правильный multi-stage build - FIX: docker-compose.yml — убраны нерабочие конфиги - FIX: docker-entrypoint.sh — добавлен правильный entrypoint - FIX: D1_BINDING=aknaproff-db во всех конфигах - wrangler.jsonc: исправлен D1_BINDING - public/original.html: cache version update - Удалён HOTFIX_v4.1.24.md, добавлен HOTFIX_v4.1.26.md
31 lines
620 B
Docker
31 lines
620 B
Docker
# 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"]
|