diff --git a/innungsapp/apps/admin/docker-entrypoint.sh b/innungsapp/apps/admin/docker-entrypoint.sh old mode 100644 new mode 100755 index 1a33b4c..484a536 --- a/innungsapp/apps/admin/docker-entrypoint.sh +++ b/innungsapp/apps/admin/docker-entrypoint.sh @@ -1,56 +1,56 @@ -#!/bin/sh -set -e - -# Keep DATABASE_URL consistent for every Prisma command -export DATABASE_URL="${DATABASE_URL:-postgresql://innungsapp:innungsapp@postgres:5432/innungsapp?schema=public}" -MIGRATIONS_DIR="./packages/shared/prisma/migrations" - -# Debug: Check environment variables -echo "========================================" -echo "Environment Variables Check:" -echo "========================================" -echo "DATABASE_URL: $DATABASE_URL" -echo "BETTER_AUTH_URL: ${BETTER_AUTH_URL:-[not set]}" -echo "BETTER_AUTH_BASE_URL: ${BETTER_AUTH_BASE_URL:-[not set]}" -if [ -n "$BETTER_AUTH_SECRET" ]; then - echo "BETTER_AUTH_SECRET: [set]" -else - echo "BETTER_AUTH_SECRET: [not set]" -fi -echo "NEXT_PUBLIC_APP_URL: ${NEXT_PUBLIC_APP_URL:-[not set]}" -echo "NODE_ENV: ${NODE_ENV:-[not set]}" -echo "========================================" -echo "" - -run_with_retries() { - attempt=1 - max_attempts=20 - - while [ "$attempt" -le "$max_attempts" ]; do - if "$@"; then - return 0 - fi - - if [ "$attempt" -eq "$max_attempts" ]; then - echo "Command failed after ${max_attempts} attempts." - return 1 - fi - - echo "Database not ready yet. Retry ${attempt}/${max_attempts} in 3s..." - attempt=$((attempt + 1)) - sleep 3 - done -} - -# Prefer migration-based deploys. Fall back to db push when no migrations exist yet. -set -- "$MIGRATIONS_DIR"/*/migration.sql -if [ -f "$1" ]; then - echo "Applying Prisma migrations..." - run_with_retries npx prisma migrate deploy --schema=./packages/shared/prisma/schema.prisma -else - echo "No Prisma migrations found. Syncing schema with db push..." - run_with_retries npx prisma db push --skip-generate --schema=./packages/shared/prisma/schema.prisma -fi - -echo "Starting Next.js server..." -exec node apps/admin/server.js +#!/bin/sh +set -e + +# Keep DATABASE_URL consistent for every Prisma command +export DATABASE_URL="${DATABASE_URL:-postgresql://innungsapp:innungsapp@postgres:5432/innungsapp?schema=public}" +MIGRATIONS_DIR="./packages/shared/prisma/migrations" + +# Debug: Check environment variables +echo "========================================" +echo "Environment Variables Check:" +echo "========================================" +echo "DATABASE_URL: $DATABASE_URL" +echo "BETTER_AUTH_URL: ${BETTER_AUTH_URL:-[not set]}" +echo "BETTER_AUTH_BASE_URL: ${BETTER_AUTH_BASE_URL:-[not set]}" +if [ -n "$BETTER_AUTH_SECRET" ]; then + echo "BETTER_AUTH_SECRET: [set]" +else + echo "BETTER_AUTH_SECRET: [not set]" +fi +echo "NEXT_PUBLIC_APP_URL: ${NEXT_PUBLIC_APP_URL:-[not set]}" +echo "NODE_ENV: ${NODE_ENV:-[not set]}" +echo "========================================" +echo "" + +run_with_retries() { + attempt=1 + max_attempts=20 + + while [ "$attempt" -le "$max_attempts" ]; do + if "$@"; then + return 0 + fi + + if [ "$attempt" -eq "$max_attempts" ]; then + echo "Command failed after ${max_attempts} attempts." + return 1 + fi + + echo "Database not ready yet. Retry ${attempt}/${max_attempts} in 3s..." + attempt=$((attempt + 1)) + sleep 3 + done +} + +# Prefer migration-based deploys. Fall back to db push when no migrations exist yet. +set -- "$MIGRATIONS_DIR"/*/migration.sql +if [ -f "$1" ]; then + echo "Applying Prisma migrations..." + run_with_retries npx prisma migrate deploy --schema=./packages/shared/prisma/schema.prisma +else + echo "No Prisma migrations found. Syncing schema with db push..." + run_with_retries npx prisma db push --skip-generate --schema=./packages/shared/prisma/schema.prisma +fi + +echo "Starting Next.js server..." +exec node apps/admin/server.js