diff options
| -rw-r--r-- | docker/client/Dockerfile | 5 | ||||
| -rw-r--r-- | docker/server/Dockerfile | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/docker/client/Dockerfile b/docker/client/Dockerfile index 4647124..423f016 100644 --- a/docker/client/Dockerfile +++ b/docker/client/Dockerfile @@ -3,6 +3,8 @@ FROM node:22-slim AS builder WORKDIR /app +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" # Enable corepack for pnpm RUN corepack enable && corepack prepare pnpm@10.23.0 --activate @@ -10,7 +12,8 @@ RUN corepack enable && corepack prepare pnpm@10.23.0 --activate COPY package.json pnpm-lock.yaml ./ # Install all dependencies (including devDependencies for build) -RUN pnpm install --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ + pnpm install --frozen-lockfile # Copy source files needed for client build COPY tsconfig.json vite.config.ts index.html ./ diff --git a/docker/server/Dockerfile b/docker/server/Dockerfile index ffb2c29..300251b 100644 --- a/docker/server/Dockerfile +++ b/docker/server/Dockerfile @@ -3,6 +3,8 @@ FROM node:22-slim AS builder WORKDIR /app +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" # Enable corepack for pnpm RUN corepack enable && corepack prepare pnpm@10.23.0 --activate @@ -10,7 +12,8 @@ RUN corepack enable && corepack prepare pnpm@10.23.0 --activate COPY package.json pnpm-lock.yaml ./ # Install all dependencies (including devDependencies for build) -RUN pnpm install --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ + pnpm install --frozen-lockfile # Copy source files COPY tsconfig.json esbuild.mjs ./ @@ -24,6 +27,8 @@ FROM node:22-slim AS production WORKDIR /app +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" # Enable corepack for pnpm RUN corepack enable && corepack prepare pnpm@10.23.0 --activate @@ -31,7 +36,8 @@ RUN corepack enable && corepack prepare pnpm@10.23.0 --activate COPY package.json pnpm-lock.yaml ./ # Install production dependencies only -RUN pnpm install --frozen-lockfile --prod +RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ + pnpm install --frozen-lockfile --prod # Copy built server from builder stage COPY --from=builder /app/dist/server ./dist/server |
