From e8977554e1f96c1cb38d3da6ab04b86bde06c195 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 9 Jul 2025 21:02:20 +0000 Subject: [PATCH] Update documentation to support external PostgreSQL database connections Updates the documentation and debug script to support connecting to an external PostgreSQL database server on port 5433. 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/6e755801-08e8-4492-805e-ac3610de5a2a.jpg --- README_DOCKER.md | 32 ++++++++++++++++---------------- debug-docker.sh | 39 +++++++++++++++++---------------------- 2 files changed, 33 insertions(+), 38 deletions(-) diff --git a/README_DOCKER.md b/README_DOCKER.md index 7903c77..3408fad 100644 --- a/README_DOCKER.md +++ b/README_DOCKER.md @@ -139,17 +139,17 @@ docker-compose ps ### Gestion des données ```bash -# Sauvegarder la base de données -docker-compose exec postgres pg_dump -U regisflow regisflow > backup.sql +# Sauvegarder la base de données externe +pg_dump -h IP_SERVEUR -p 5433 -U regisflow regisflow > backup.sql -# Restaurer la base de données -docker-compose exec -T postgres psql -U regisflow regisflow < backup.sql +# Restaurer la base de données externe +psql -h IP_SERVEUR -p 5433 -U regisflow regisflow < backup.sql -# Accéder à la base de données -docker-compose exec postgres psql -U regisflow regisflow +# Accéder à la base de données externe +psql -h IP_SERVEUR -p 5433 -U regisflow regisflow -# Ou depuis l'hôte (port 5433) -psql -h localhost -p 5433 -U regisflow regisflow +# Connexion à la base externe +psql -h IP_SERVEUR -p 5433 -U regisflow regisflow ``` ### Maintenance @@ -164,7 +164,7 @@ docker system prune -f # Voir l'utilisation des volumes docker volume ls -docker volume inspect regisflow_postgres_data +docker volume inspect regisflow_backup_data ``` ## 🛡️ Sécurité @@ -222,17 +222,17 @@ docker system df # Vérifier les logs docker-compose logs regisflow - # Vérifier la base de données - docker-compose logs postgres + # Vérifier la connexion à la base externe + docker-compose exec regisflow pg_isready -h IP_SERVEUR -p 5433 -U regisflow ``` 2. **Erreur de connexion à la base** : ```bash - # Vérifier que PostgreSQL est démarré - docker-compose ps postgres + # Vérifier que PostgreSQL externe est accessible + docker-compose exec regisflow pg_isready -h IP_SERVEUR -p 5433 -U regisflow - # Tester la connexion - docker-compose exec postgres pg_isready -U regisflow + # Tester la connectivité réseau + docker-compose exec regisflow nc -zv IP_SERVEUR 5433 ``` 3. **Problème de permissions** : @@ -289,7 +289,7 @@ Si vous souhaitez ajouter un reverse proxy (Nginx, Apache, etc.) : ```env # Base de données -DATABASE_URL=postgresql://regisflow:password@postgres:5432/regisflow +DATABASE_URL=postgresql://regisflow:RegisFlow2024!@IP_SERVEUR:5433/regisflow POSTGRES_PASSWORD=password # Application diff --git a/debug-docker.sh b/debug-docker.sh index b214de9..e07d31b 100644 --- a/debug-docker.sh +++ b/debug-docker.sh @@ -1,42 +1,37 @@ #!/bin/bash -# Script de debug pour Docker RegisFlow -echo "🔍 Debug Docker RegisFlow" +# Script de debug pour Docker RegisFlow (Base de données EXTERNE) +echo "🔍 Debug Docker RegisFlow - Base PostgreSQL externe" 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):" +echo "2. 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 "3. Variables d'environnement dans l'application:" +docker-compose exec regisflow env | grep -E "(DATABASE_URL|NODE_ENV|TZ)" echo "" -echo "5. Variables d'environnement dans l'application:" -docker-compose exec regisflow env | grep -E "(DATABASE_URL|POSTGRES|NODE_ENV)" +echo "4. Test de connexion à la base externe:" +echo " - Extraction des paramètres de connexion:" +docker-compose exec regisflow sh -c 'echo "Host: $(echo $DATABASE_URL | sed -n \"s|.*@\([^:]*\):.*|\1|p\")"' +docker-compose exec regisflow sh -c 'echo "Port: $(echo $DATABASE_URL | sed -n \"s|.*:\([0-9]*\)/.*|\1|p\")"' +docker-compose exec regisflow sh -c 'echo "User: $(echo $DATABASE_URL | sed -n \"s|.*://\([^:]*\):.*|\1|p\")"' echo "" -echo "6. Test manuel de connexion PostgreSQL:" -echo " - Test depuis le container postgres:" -docker-compose exec postgres pg_isready -U regisflow -d regisflow -echo " - Test depuis le container regisflow vers postgres:5432:" -docker-compose exec regisflow pg_isready -h postgres -p 5432 -U regisflow +echo "5. Test de connectivité vers la base externe:" +docker-compose exec regisflow sh -c 'pg_isready -h $(echo $DATABASE_URL | sed -n "s|.*@\([^:]*\):.*|\1|p") -p $(echo $DATABASE_URL | sed -n "s|.*:\([0-9]*\)/.*|\1|p") -U regisflow' echo "" -echo "7. Processus dans le container PostgreSQL:" -docker-compose exec postgres ps aux +echo "6. Test de résolution DNS:" +docker-compose exec regisflow sh -c 'nslookup $(echo $DATABASE_URL | sed -n "s|.*@\([^:]*\):.*|\1|p") || echo "❌ DNS échoué"' echo "" -echo "8. Test de port PostgreSQL depuis l'hôte:" -timeout 5 bash -c "&1 || echo "❌ Port inaccessible"' echo "" -echo "🏁 Debug terminé" \ No newline at end of file +echo "🏁 Debug terminé - Base PostgreSQL externe" \ No newline at end of file