33 lines
922 B
Bash
33 lines
922 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
echo "▶ NotesFrais backend — démarrage"
|
|
|
|
# Attendre que PostgreSQL soit prêt (Coolify peut démarrer les conteneurs en parallèle)
|
|
MAX=30
|
|
i=0
|
|
until node -e "
|
|
const { Client } = require('pg');
|
|
const c = new Client({ connectionString: process.env.DATABASE_URL });
|
|
c.connect().then(() => { c.end(); process.exit(0); }).catch(() => process.exit(1));
|
|
" 2>/dev/null; do
|
|
i=$((i+1))
|
|
if [ $i -ge $MAX ]; then
|
|
echo "✗ PostgreSQL inaccessible après ${MAX} tentatives — abandon"
|
|
exit 1
|
|
fi
|
|
echo " PostgreSQL non prêt, attente (${i}/${MAX})…"
|
|
sleep 2
|
|
done
|
|
|
|
echo "✓ PostgreSQL prêt"
|
|
|
|
# Migration (idempotente — IF NOT EXISTS sur toutes les créations)
|
|
echo "▶ Migration de la base de données…"
|
|
node dist/scripts/migrate.js
|
|
echo "✓ Migration terminée"
|
|
|
|
# Démarrage du serveur
|
|
echo "▶ Démarrage du serveur Express sur le port ${PORT:-3001}"
|
|
exec node dist/index.js
|