From add79a08f1936db116c42ff59b000a63eab83488 Mon Sep 17 00:00:00 2001 From: fly_mc Date: Wed, 20 Nov 2024 13:36:26 +0800 Subject: [PATCH] Update Dockerfile --- Dockerfile | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index f22037bb2..5168c0e90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,12 +7,12 @@ ARG NODE_VERSION=22.11.0-bullseye FROM --platform=$BUILDPLATFORM node:${NODE_VERSION} AS native-builder RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - rm -f /etc/apt/apt.conf.d/docker-clean \ - ; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \ - && apt-get update \ - && apt-get install -yqq --no-install-recommends \ - build-essential + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + rm -f /etc/apt/apt.conf.d/docker-clean \ + ; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \ + && apt-get update \ + && apt-get install -yqq --no-install-recommends \ + build-essential RUN corepack enable @@ -33,7 +33,10 @@ COPY --link ["packages/megalodon/package.json", "./packages/megalodon/"] ARG NODE_ENV=production RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ - pnpm i --frozen-lockfile --aggregate-output + pnpm i --frozen-lockfile --aggregate-output + +# megalodon +RUN cd packages/megalodon && pnpm add -D jest-worker @types/jest COPY --link . ./ @@ -46,8 +49,8 @@ RUN rm -rf .git/ FROM --platform=$TARGETPLATFORM node:${NODE_VERSION} AS target-builder RUN apt-get update \ - && apt-get install -yqq --no-install-recommends \ - build-essential + && apt-get install -yqq --no-install-recommends \ + build-essential RUN corepack enable @@ -64,7 +67,7 @@ COPY --link ["packages/megalodon/package.json", "./packages/megalodon/"] ARG NODE_ENV=production RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ - pnpm i --frozen-lockfile --aggregate-output + pnpm i --frozen-lockfile --aggregate-output FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner @@ -72,16 +75,16 @@ ARG UID="991" ARG GID="991" RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - ffmpeg tini curl libjemalloc-dev libjemalloc2 \ - && ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so \ - && corepack enable \ - && groupadd -g "${GID}" misskey \ - && useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \ - && find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \ - && find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /g+s -ignore_readdir_race -exec chmod g-s {} \; \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists + && apt-get install -y --no-install-recommends \ + ffmpeg tini curl libjemalloc-dev libjemalloc2 \ + && ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so \ + && corepack enable \ + && groupadd -g "${GID}" misskey \ + && useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \ + && find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \ + && find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /g+s -ignore_readdir_race -exec chmod g-s {} \; \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists USER misskey WORKDIR /misskey @@ -102,8 +105,7 @@ COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/ COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built -COPY --chown=misskey:misskey --from=native-builder /misskey/packages/megalodon/lib ./packages/megalodon/lib - +COPY --chown=misskey:misskey --from=native-builder /misskey/packages/megalodon/built ./packages/megalodon/built COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis COPY --chown=misskey:misskey . ./ @@ -111,4 +113,4 @@ ENV LD_PRELOAD=/usr/local/lib/libjemalloc.so ENV NODE_ENV=production HEALTHCHECK --interval=5s --retries=20 CMD ["/bin/bash", "/misskey/healthcheck.sh"] ENTRYPOINT ["/usr/bin/tini", "--"] -CMD ["pnpm", "run", "migrateandstart"] \ No newline at end of file +CMD ["pnpm", "run", "migrateandstart"]