From bc885f3644c84cd3924e8edfb1a2dd35d8c45cdc Mon Sep 17 00:00:00 2001 From: bt90 Date: Fri, 21 Jul 2023 16:20:04 +0200 Subject: [PATCH] fix(server): properly handle SIGTERM (#3350) * use tini init * Move python into CMD * Use tini as entrypoint * Toggle executable bit * Avoid compose changes * Adapt web entrypoint --- machine-learning/Dockerfile | 5 ++++- server/Dockerfile | 4 ++-- web/Dockerfile | 4 ++-- web/entrypoint.sh | 0 4 files changed, 8 insertions(+), 5 deletions(-) mode change 100644 => 100755 web/entrypoint.sh diff --git a/machine-learning/Dockerfile b/machine-learning/Dockerfile index e5d5f22c6b..4413f28f25 100644 --- a/machine-learning/Dockerfile +++ b/machine-learning/Dockerfile @@ -15,6 +15,8 @@ RUN poetry install --sync --no-interaction --no-ansi --no-root --only main FROM python:3.11.4-slim-bullseye@sha256:91d194f58f50594cda71dcd2e8fdefd90e7ecc57d07823813b67c8521e565dcd +RUN apt-get update && apt-get install -y --no-install-recommends tini && rm -rf /var/lib/apt/lists/* + WORKDIR /usr/src/app ENV NODE_ENV=production \ TRANSFORMERS_CACHE=/cache \ @@ -25,4 +27,5 @@ ENV NODE_ENV=production \ COPY --from=builder /opt/venv /opt/venv COPY app . -ENTRYPOINT ["python", "-m", "app.main"] +ENTRYPOINT ["tini", "--"] +CMD ["python", "-m", "app.main"] diff --git a/server/Dockerfile b/server/Dockerfile index 642a0992e6..b62c062c5f 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -22,7 +22,7 @@ ENV NODE_ENV=production WORKDIR /usr/src/app -RUN apk add --no-cache ffmpeg imagemagick-dev libraw-dev perl vips-dev vips-heif vips-jxl vips-magick +RUN apk add --no-cache ffmpeg imagemagick-dev libraw-dev perl tini vips-dev vips-heif vips-jxl vips-magick COPY --from=prod /usr/src/app/node_modules ./node_modules COPY --from=prod /usr/src/app/dist ./dist @@ -39,4 +39,4 @@ VOLUME /usr/src/app/upload EXPOSE 3001 -ENTRYPOINT ["/bin/sh"] +ENTRYPOINT ["tini", "--", "/bin/sh"] diff --git a/web/Dockerfile b/web/Dockerfile index 17794c222c..0a6ee7d5ea 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -3,7 +3,7 @@ FROM node:18.16.0-alpine3.18@sha256:9036ddb8252ba7089c2c83eb2b0dcaf74ff1069e8ddf WORKDIR /usr/src/app EXPOSE 3000 -RUN apk add --no-cache setpriv +RUN apk add --no-cache setpriv tini FROM base as builder @@ -39,6 +39,6 @@ COPY --from=prod /usr/src/app/build ./build COPY package.json package-lock.json ./ COPY entrypoint.sh ./ -ENTRYPOINT ["/bin/sh"] +ENTRYPOINT ["tini", "--", "/bin/sh"] CMD ["entrypoint.sh"] diff --git a/web/entrypoint.sh b/web/entrypoint.sh old mode 100644 new mode 100755