Files
Regisflow/docker-entrypoint.sh
T
michaelschal 356baa3338 Improve application setup and ensure database migrations run smoothly
Copies node_modules, simplifies entrypoint, and adds fallback for drizzle-kit in Docker.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/c6c5feed-35b8-4a24-8fc2-e4d6ed02724b.jpg
2025-07-09 22:05:37 +00:00

54 lines
1.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/sh
set -e
# Script d'entrée pour le container RegisFlow
echo "🚀 Démarrage de RegisFlow..."
# Attendre que la base de données Docker soit prête
echo "📡 Attente de la base de données regisflow-db..."
echo "🔍 Test de connexion à regisflow-db:5432..."
# Attendre jusqu'à 120 secondes pour PostgreSQL Docker
RETRIES=24
while [ $RETRIES -gt 0 ]; do
if pg_isready -h regisflow-db -p 5432 -U regisflow; then
echo "✅ PostgreSQL regisflow-db est prêt!"
break
fi
echo "⏳ Base de données non prête, tentative $((25-RETRIES))/24, attente de 5 secondes..."
sleep 5
RETRIES=$((RETRIES-1))
done
if [ $RETRIES -eq 0 ]; then
echo "❌ Timeout: Impossible de se connecter à regisflow-db après 2 minutes"
echo "🔍 Diagnostic:"
echo " - Vérifiez que le service regisflow-db démarre correctement"
echo " - Vérifiez les logs: docker-compose logs regisflow-db"
exit 1
fi
echo "✅ Base de données prête!"
# Exécuter les migrations de base de données
echo "🔄 Exécution des migrations..."
if command -v drizzle-kit >/dev/null 2>&1; then
npx drizzle-kit push
else
echo "⚠️ drizzle-kit non disponible, tentative avec npm run db:push..."
if [ -f package.json ]; then
npm run db:push || echo "ℹ️ Migrations manuelles nécessaires"
else
echo "ℹ️ Package.json non trouvé, poursuite sans migrations"
fi
fi
# Créer le répertoire des sauvegardes s'il n'existe pas
mkdir -p /app/backups
# L'application est déjà construite dans le Dockerfile
echo "✅ Application pré-construite"
# Démarrer l'application en production
echo "🎯 Démarrage de l'application RegisFlow..."
exec npm run start