diff --git a/debug-docker.sh b/debug-docker.sh new file mode 100755 index 0000000..456854e --- /dev/null +++ b/debug-docker.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Script de debug pour Docker RegisFlow +echo "🔍 Debug Docker RegisFlow" + +echo "1. État des containers:" +docker-compose ps + +echo "" +echo "2. Logs PostgreSQL (derniĂšres 50 lignes):" +docker-compose logs --tail=50 postgres + +echo "" +echo "3. Logs Application (derniĂšres 50 lignes):" +docker-compose logs --tail=50 regisflow + +echo "" +echo "4. Test de connectivitĂ© rĂ©seau:" +echo " - Test ping postgres depuis regisflow:" +docker-compose exec regisflow ping -c 3 postgres 2>/dev/null || echo "❌ Ping Ă©chouĂ©" + +echo "" +echo "5. Variables d'environnement dans l'application:" +docker-compose exec regisflow env | grep -E "(DATABASE_URL|POSTGRES|NODE_ENV)" + +echo "" +echo "6. Test manuel de connexion PostgreSQL:" +docker-compose exec postgres pg_isready -U regisflow -d regisflow + +echo "" +echo "7. Processus dans le container PostgreSQL:" +docker-compose exec postgres ps aux + +echo "" +echo "8. Test de port PostgreSQL depuis l'hĂŽte:" +timeout 5 bash -c " { }); // Health check endpoint for Docker - app.get('/health', (req, res) => { - res.status(200).json({ - status: 'healthy', - timestamp: new Date().toISOString(), - uptime: process.uptime(), - environment: process.env.NODE_ENV || 'development' - }); + app.get('/health', async (req, res) => { + try { + // Test de connexion Ă  la base de donnĂ©es + await storage.initializeDefaults(); + res.status(200).json({ + status: 'healthy', + timestamp: new Date().toISOString(), + uptime: process.uptime(), + database: 'connected', + environment: process.env.NODE_ENV || 'development' + }); + } catch (error) { + console.error('Health check failed:', error); + res.status(503).json({ + status: 'unhealthy', + timestamp: new Date().toISOString(), + database: 'disconnected', + error: error instanceof Error ? error.message : 'Unknown error' + }); + } }); app.get('/api/auth/me', requireAuth, async (req, res) => {