diff --git a/Dockerfile b/Dockerfile index 3d91b9f8c..913d1cb38 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,8 @@ # syntax = docker/dockerfile:1.4 -ARG NODE_VERSION=22 - # build assets & compile TypeScript -FROM --platform=$BUILDPLATFORM node:${NODE_VERSION} AS native-builder +FROM --platform=$BUILDPLATFORM node:22 AS native-builder RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ @@ -17,7 +15,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ WORKDIR /misskey COPY --link pnpm-lock.yaml ./ -RUN npm install -g pnpm +RUN npm install -g pnpm@9 RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ pnpm fetch --ignore-scripts @@ -30,7 +28,7 @@ COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"] COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"] -RUN pnpm i --frozen-lockfile --aggregate-output --offline \ +RUN pnpm i --frozen-lockfile --aggregate-output --prefer-offline \ && pnpm rebuild -r COPY --link . ./ @@ -39,7 +37,7 @@ RUN NODE_ENV=production pnpm build # build native dependencies for target platform -FROM --platform=$TARGETPLATFORM node:${NODE_VERSION} AS target-builder +FROM --platform=$TARGETPLATFORM node:22 AS target-builder RUN apt-get update \ && apt-get install -yqq --no-install-recommends \ @@ -48,7 +46,7 @@ RUN apt-get update \ WORKDIR /misskey COPY --link pnpm-lock.yaml ./ -RUN npm install -g pnpm +RUN npm install -g pnpm@9 RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ pnpm fetch --ignore-scripts @@ -59,10 +57,10 @@ COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"] COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"] -RUN pnpm i --frozen-lockfile --aggregate-output --offline \ +RUN pnpm i --frozen-lockfile --aggregate-output --prefer-offline \ && pnpm rebuild -r -FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner +FROM --platform=$TARGETPLATFORM node:22-slim AS runner ARG UID="991" ARG GID="991" @@ -81,7 +79,7 @@ RUN apt-get update \ WORKDIR /misskey COPY --chown=misskey:misskey pnpm-lock.yaml ./ -RUN npm install -g pnpm +RUN npm install -g pnpm@9 COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules