From cf53ab8cf9bb8533ccb1f205876794bc712efca5 Mon Sep 17 00:00:00 2001 From: MaKarin Date: Sat, 4 Apr 2026 19:53:08 +0300 Subject: [PATCH] update dockerfile's --- .gitattributes | 1 + docker-compose.yml | 9 ++------- server/Dockerfile | 2 +- server/docker-entrypoint.sh | 22 ++++++++++++++++++++-- 4 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfdb8b7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.sh text eol=lf diff --git a/docker-compose.yml b/docker-compose.yml index fd7afa9..f8ae00d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,16 +40,11 @@ services: KEYCLOAK_JWKS_URL: ${KEYCLOAK_JWKS_URL:-} healthcheck: test: - [ - "CMD", - "node", - "-e", - "fetch('http://127.0.0.1:3000/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))", - ] + ["CMD", "curl", "-fsS", "http://127.0.0.1:3000/health"] interval: 15s timeout: 5s retries: 5 - start_period: 20s + start_period: 90s expose: - "3000" networks: diff --git a/server/Dockerfile b/server/Dockerfile index 72f07f9..4010621 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -27,7 +27,7 @@ WORKDIR /app ENV NODE_ENV=production RUN apt-get update \ - && apt-get install -y --no-install-recommends openssl \ + && apt-get install -y --no-install-recommends openssl ca-certificates curl \ && rm -rf /var/lib/apt/lists/* COPY --from=build /app/package*.json ./ diff --git a/server/docker-entrypoint.sh b/server/docker-entrypoint.sh index 47ab5e4..04f42a5 100755 --- a/server/docker-entrypoint.sh +++ b/server/docker-entrypoint.sh @@ -1,8 +1,26 @@ #!/bin/sh -set -eu +set -e + +PRISMA_BIN="./node_modules/.bin/prisma" +if [ ! -f "$PRISMA_BIN" ]; then + echo "Prisma CLI not found at $PRISMA_BIN" + exit 1 +fi echo "Applying database migrations..." -npx prisma migrate deploy +i=0 +while [ "$i" -lt 15 ]; do + if "$PRISMA_BIN" migrate deploy; then + break + fi + i=$((i + 1)) + if [ "$i" -eq 15 ]; then + echo "prisma migrate deploy failed after 15 attempts" + exit 1 + fi + echo "Migrate failed or DB not ready; retrying in 2s ($i/15)..." + sleep 2 +done echo "Starting NestJS..." exec node dist/main.js