From b47cc8748d6bc358e1c8fc1d19165f4e851b7f5f Mon Sep 17 00:00:00 2001 From: Catherine Renelle <32781029+catrenelle@users.noreply.github.com> Date: Wed, 25 Feb 2026 21:45:13 -0500 Subject: [PATCH] Add docker-entrypoint.sh to retry DB connection on startup The app container starts before DNS resolution is ready, causing prisma db push to fail. Entrypoint now retries until the database is reachable. Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 5 ++++- docker-entrypoint.sh | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 6907973..3faec82 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,4 +35,7 @@ RUN mkdir -p /app/uploads EXPOSE 3000 -CMD ["sh", "-c", "npx prisma db push --skip-generate && node server.js"] +COPY docker-entrypoint.sh ./ +RUN chmod +x docker-entrypoint.sh + +CMD ["./docker-entrypoint.sh"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..b49c43e --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +echo "Waiting for database..." +until npx prisma db push --skip-generate 2>/dev/null; do + echo "Database not ready, retrying in 3s..." + sleep 3 +done + +echo "Database schema synced. Starting server..." +exec node server.js