Files
notesfrais/backend/docker-entrypoint.sh
T
2026-04-29 09:57:19 +02:00

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