try fix pnpm symlink error on deploy 2
This commit is contained in:
32
Dockerfile
32
Dockerfile
@@ -1,19 +1,41 @@
|
|||||||
# Stage 1: Build
|
# ==========================================================
|
||||||
FROM node:20 AS builder
|
# Stage 1 — Builder
|
||||||
|
# ==========================================================
|
||||||
|
FROM node:20-bookworm AS builder
|
||||||
|
|
||||||
|
# On force une locale et on active un cache PNPM local
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
ENV PNPM_HOME=/usr/local/share/pnpm
|
||||||
|
ENV PATH=$PNPM_HOME:$PATH
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copie des fichiers nécessaires à l’installation
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
RUN npm install -g pnpm && pnpm install --frozen-lockfile
|
|
||||||
|
|
||||||
|
# Installation propre et isolée
|
||||||
|
RUN npm install -g pnpm@9 && pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
# Copie du reste du projet (sans node_modules ni .output)
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
# Build Nuxt ou autre app JS
|
||||||
RUN pnpm build
|
RUN pnpm build
|
||||||
|
|
||||||
# Stage 2: Runtime
|
|
||||||
|
# ==========================================================
|
||||||
|
# Stage 2 — Runner (production)
|
||||||
|
# ==========================================================
|
||||||
FROM node:20-slim AS runner
|
FROM node:20-slim AS runner
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# On ne garde que l’output final (pas de node_modules PNPM dans la prod)
|
||||||
COPY --from=builder /app/.output ./.output
|
COPY --from=builder /app/.output ./.output
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY --from=builder /app/package.json ./
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
|
# Commande de démarrage (Nuxt 3 par défaut)
|
||||||
CMD ["node", ".output/server/index.mjs"]
|
CMD ["node", ".output/server/index.mjs"]
|
||||||
|
|||||||
Reference in New Issue
Block a user