dockerfile fix

This commit is contained in:
2026-04-25 18:35:31 +07:00
parent cc6f72bc97
commit 674b7f9803
+8 -7
View File
@@ -10,7 +10,7 @@ WORKDIR /build
COPY ./matrix-engine ./matrix-engine COPY ./matrix-engine ./matrix-engine
WORKDIR /build/matrix-engine WORKDIR /build/matrix-engine
# КЭШИРУЕМ: Реестр Cargo и папку target. При повторном деплое компиляция будет мгновенной. # КЭШИРУЕМ: Реестр Cargo и папку target.
RUN --mount=type=cache,target=/usr/local/cargo/registry \ RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=/build/matrix-engine/target \ --mount=type=cache,target=/build/matrix-engine/target \
wasm-pack build --target web --release wasm-pack build --target web --release
@@ -20,7 +20,6 @@ FROM node:20-alpine AS deps
WORKDIR /app WORKDIR /app
RUN npm install -g pnpm RUN npm install -g pnpm
COPY package.json pnpm-lock.yaml* ./ COPY package.json pnpm-lock.yaml* ./
# КЭШИРУЕМ: Хранилище pnpm
RUN --mount=type=cache,target=/root/.local/share/pnpm/store \ RUN --mount=type=cache,target=/root/.local/share/pnpm/store \
pnpm install --frozen-lockfile pnpm install --frozen-lockfile
@@ -31,17 +30,19 @@ RUN npm install -g pnpm
COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/node_modules ./node_modules
COPY . . COPY . .
# Копируем Wasm ДО билда Next.js # Создаем директорию заранее
COPY --from=wasm-builder /build/matrix-engine/pkg/matrix_engine_bg.wasm ./public/wasm-matrix/ RUN mkdir -p ./public/wasm-matrix/
COPY --from=wasm-builder /build/matrix-engine/pkg/matrix_engine.js ./public/wasm-matrix/
# 👇 ДОБАВЬ ЭТУ СТРОКУ 👇 # Копируем ВЕСЬ контент из pkg (там matrix_engine.js, matrix_engine_bg.js и .wasm)
# Это критично, так как они зависят друг от друга
COPY --from=wasm-builder /build/matrix-engine/pkg/* ./public/wasm-matrix/
# Копируем сам воркер поверх (если он не попал в pkg ранее)
RUN cp matrix-engine/matrix_worker.js public/wasm-matrix/ RUN cp matrix-engine/matrix_worker.js public/wasm-matrix/
ENV NEXT_TELEMETRY_DISABLED=1 ENV NEXT_TELEMETRY_DISABLED=1
RUN pnpm run build RUN pnpm run build
# --- Stage 3: Продакшен сервер --- # --- Stage 3: Продакшен сервер ---
FROM node:20-alpine AS runner FROM node:20-alpine AS runner
WORKDIR /app WORKDIR /app