diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..393d4c6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.sh text eol=lf +docker-entrypoint.sh text eol=lf diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index b49c43e..6aa61bc 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -2,10 +2,23 @@ set -e echo "Waiting for database..." -until npx prisma db push --skip-generate 2>/dev/null; do - echo "Database not ready, retrying in 3s..." +MAX_RETRIES=30 +RETRY=0 + +while [ $RETRY -lt $MAX_RETRIES ]; do + if npx prisma db push --skip-generate 2>&1; then + echo "Database schema synced successfully." + break + fi + RETRY=$((RETRY + 1)) + echo "Database not ready (attempt $RETRY/$MAX_RETRIES), retrying in 3s..." sleep 3 done -echo "Database schema synced. Starting server..." +if [ $RETRY -ge $MAX_RETRIES ]; then + echo "ERROR: Could not connect to database after $MAX_RETRIES attempts." + exit 1 +fi + +echo "Starting server..." exec node server.js