#!/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