diff --git a/.env.example b/.env.example index e4a1048..f87cbbd 100644 --- a/.env.example +++ b/.env.example @@ -5,6 +5,9 @@ DATABASE_URL=postgresql://regisflow:regisflow2024@postgres:5432/regisflow POSTGRES_PASSWORD=regisflow2024 +# Note: En cas de conflit de port, PostgreSQL sera accessible sur le port 5433 depuis l'hôte +# mais l'application utilise le port 5432 interne au réseau Docker + # Configuration de l'application NODE_ENV=production PORT=5000 diff --git a/README_DOCKER.md b/README_DOCKER.md index c19b088..aedb497 100644 --- a/README_DOCKER.md +++ b/README_DOCKER.md @@ -47,6 +47,14 @@ TZ=Europe/Paris ### 3. Lancer l'application +**Option 1 : Script automatique (recommandé)** +```bash +# Utiliser le script de déploiement automatique +chmod +x deploy.sh +./deploy.sh +``` + +**Option 2 : Commandes manuelles** ```bash # Construire et démarrer tous les services docker-compose up -d @@ -61,7 +69,8 @@ docker-compose logs -f ## 📋 Services Inclus ### 1. PostgreSQL (Base de données) -- **Port**: 5432 +- **Port externe**: 5433 (pour éviter les conflits) +- **Port interne**: 5432 (communication entre containers) - **Database**: regisflow - **Utilisateur**: regisflow - **Données persistantes**: Volume `postgres_data` @@ -106,6 +115,9 @@ docker-compose exec -T postgres psql -U regisflow regisflow < backup.sql # Accéder à la base de données docker-compose exec postgres psql -U regisflow regisflow + +# Ou depuis l'hôte (port 5433) +psql -h localhost -p 5433 -U regisflow regisflow ``` ### Maintenance diff --git a/attached_assets/image_1752093733153.png b/attached_assets/image_1752093733153.png new file mode 100644 index 0000000..ee593bf Binary files /dev/null and b/attached_assets/image_1752093733153.png differ diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..3182759 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +# Script de déploiement simplifié pour RegisFlow +echo "🚀 Déploiement de RegisFlow avec Docker" + +# Vérifier si Docker est installé +if ! command -v docker &> /dev/null; then + echo "❌ Docker n'est pas installé. Installez Docker d'abord." + exit 1 +fi + +if ! command -v docker-compose &> /dev/null; then + echo "❌ Docker Compose n'est pas installé. Installez Docker Compose d'abord." + exit 1 +fi + +echo "✅ Docker et Docker Compose détectés" + +# Arrêter les services existants +echo "🛑 Arrêt des services existants..." +docker-compose down -v 2>/dev/null || true + +# Nettoyer les anciens containers et images +echo "🧹 Nettoyage des anciens containers..." +docker system prune -f + +# Créer le fichier .env s'il n'existe pas +if [ ! -f .env ]; then + echo "📝 Création du fichier .env..." + cp .env.example .env + echo "⚠️ IMPORTANT: Éditez le fichier .env avec vos paramètres avant de continuer" + echo " Notamment: POSTGRES_PASSWORD et SESSION_SECRET" + read -p "Appuyez sur Entrée pour continuer..." +fi + +# Construire et démarrer les services +echo "🏗️ Construction et démarrage des services..." +docker-compose up -d --build + +# Attendre que les services soient prêts +echo "⏳ Attente du démarrage des services..." +sleep 30 + +# Vérifier le statut des services +echo "📊 Vérification du statut des services..." +docker-compose ps + +# Afficher les logs des dernières minutes +echo "📋 Logs récents:" +docker-compose logs --tail=50 + +echo "" +echo "🎉 Déploiement terminé!" +echo "📱 Application accessible sur: http://localhost:5000" +echo "🗄️ Base de données accessible sur: localhost:5433" +echo "👤 Compte par défaut: admin / admin123" +echo "" +echo "📝 Pour voir les logs en continu:" +echo " docker-compose logs -f" +echo "" +echo "🛑 Pour arrêter les services:" +echo " docker-compose down" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 08f3d4f..43e9637 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: - postgres_data:/var/lib/postgresql/data - ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro ports: - - "5432:5432" + - "5433:5432" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U regisflow -d regisflow"]