From 13f1b266261e0b830f0da01029b466dd5d13dc22 Mon Sep 17 00:00:00 2001 From: NavyStack <137406386+Navystack@users.noreply.github.com> Date: Tue, 19 Dec 2023 10:36:40 +0900 Subject: [PATCH] rebase Debian Dockerfile --- rebase.Dockerfile | 58 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 rebase.Dockerfile diff --git a/rebase.Dockerfile b/rebase.Dockerfile new file mode 100644 index 00000000..0b1cf604 --- /dev/null +++ b/rebase.Dockerfile @@ -0,0 +1,58 @@ +FROM node:18-bookworm as base +RUN apt-get update \ + && apt-get install -y \ + tini && \ + npm install pnpm --global +WORKDIR /app + +FROM base as server-dependencies +COPY server/pnpm-lock.yaml . +RUN pnpm fetch --prod +RUN pnpm install -r --offline --prod + +FROM base as client +COPY client/pnpm-lock.yaml . +RUN pnpm fetch --prod +COPY client . +RUN pnpm install -r --offline --prod +RUN DISABLE_ESLINT_PLUGIN=true pnpm run build + +FROM base AS intermediate + +WORKDIR /app + +COPY --from=server-dependencies /app/node_modules node_modules +COPY --from=server-dependencies /usr/bin/tini /usr/local/bin/tini + +COPY --from=client /app/build public +COPY --from=client /app/build/index.html views/index.ejs + +COPY docker-entrypoint.sh . +COPY server . + +RUN mv .env.sample .env + +FROM node:18-bookworm-slim AS final + +ARG USER=planka + +RUN useradd --no-create-home --shell /bin/bash $USER + +USER $USER + +WORKDIR /app + +COPY --from=server-dependencies --chown=$USER:$USER /usr/bin/tini /usr/local/bin/tini +COPY --from=intermediate --chown=$USER:$USER /app . + +VOLUME /app/public/user-avatars +VOLUME /app/public/project-background-images +VOLUME /app/private/attachments + +EXPOSE 1337/tcp + +# Use Tini to start Planka and shutdown gracefully: +# https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#handling-kernel-signals +ENTRYPOINT ["tini", "--"] + +CMD ["./docker-entrypoint.sh"] \ No newline at end of file