From 45962f9d9d85aafe4d12da7f4767f708d45b1a55 Mon Sep 17 00:00:00 2001 From: Sonlis Date: Tue, 19 Mar 2024 18:27:08 +0200 Subject: [PATCH] Enable signal handling from host to container, and within container --- Dockerfile | 11 +++++++++-- docker/entrypoint.sh | 12 ++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100755 docker/entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 1a557b8c4..9738eafc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,7 +56,14 @@ RUN apt update && apt install -y \ openssl \ && rm -rf /var/lib/apt/lists/* +# Add tini, which is an init process that handles signaling within the container +# and with the host. See https://github.com/krallin/tini +ENV TINI_VERSION v0.19.0 +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini +RUN chmod +x /tini +ENTRYPOINT ["/tini", "--"] + COPY --from=builder /ghostfolio/dist/apps /ghostfolio/apps -WORKDIR /ghostfolio/apps/api +COPY ./docker/entrypoint.sh /ghostfolio/entrypoint.sh EXPOSE ${PORT:-3333} -CMD [ "yarn", "start:production" ] +CMD [ "/ghostfolio/entrypoint.sh" ] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100755 index 000000000..71cf6f2dc --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +set -ex + +echo "Running database migrations" +npx prisma migrate deploy + +echo "Seeding the database" +npx prisma db seed + +echo "Starting the server" +node main