diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-12-08 02:01:40 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-12-08 02:21:37 +0900 |
| commit | a4abdb4c0d20fc9b2e5fe5b333d1604a7225df27 (patch) | |
| tree | 36f4e8625e684db29ad5adf8983baaabdd01fb8d /docker | |
| parent | 18fbdeca372996e37a58cf79b4d07b8c6afd7e75 (diff) | |
| download | kioku-a4abdb4c0d20fc9b2e5fe5b333d1604a7225df27.tar.gz kioku-a4abdb4c0d20fc9b2e5fe5b333d1604a7225df27.tar.zst kioku-a4abdb4c0d20fc9b2e5fe5b333d1604a7225df27.zip | |
feat(build): cache pnpm store
Diffstat (limited to 'docker')
| -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 |
