#!/bin/sh set -e echo "=== OpenCRM Startup ===" # Wait for database to be ready echo "Waiting for database connection..." MAX_RETRIES=30 RETRY_COUNT=0 while ! nc -z db 3306 2>/dev/null; do RETRY_COUNT=$((RETRY_COUNT + 1)) if [ $RETRY_COUNT -ge $MAX_RETRIES ]; then echo "Error: Database not available after $MAX_RETRIES attempts" exit 1 fi echo " Attempt $RETRY_COUNT/$MAX_RETRIES - waiting..." sleep 2 done echo "Database is ready!" # Run migrations echo "Running database migrations..." npx prisma migrate deploy # Seed database if RUN_SEED is set (first install) if [ "$RUN_SEED" = "true" ]; then echo "Seeding database..." npx tsx prisma/seed.ts fi # Start the application echo "Starting OpenCRM server..." exec node dist/index.js