35 lines
786 B
Bash
35 lines
786 B
Bash
#!/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
|