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
|
||||
|
||||
# Copie des fichiers nécessaires à l’installation
|
||||
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 . .
|
||||
|
||||
# Build Nuxt ou autre app JS
|
||||
RUN pnpm build
|
||||
|
||||
# Stage 2: Runtime
|
||||
|
||||
# ==========================================================
|
||||
# Stage 2 — Runner (production)
|
||||
# ==========================================================
|
||||
FROM node:20-slim AS runner
|
||||
|
||||
ENV NODE_ENV=production
|
||||
WORKDIR /app
|
||||
|
||||
# On ne garde que l’output final (pas de node_modules PNPM dans la prod)
|
||||
COPY --from=builder /app/.output ./.output
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
COPY --from=builder /app/package.json ./
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
# Commande de démarrage (Nuxt 3 par défaut)
|
||||
CMD ["node", ".output/server/index.mjs"]
|
||||
|
||||
Reference in New Issue
Block a user