From 780036a232cb47c4632b5b4f83775aad28934dfd Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 9 Jul 2025 20:55:45 +0000 Subject: [PATCH] Simplify database setup by preconfiguring credentials and instructions Adds preconfigured PostgreSQL credentials and setup instructions to .env and documentation. 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 --- .env.example | 26 ++++++++++++++------------ README_DOCKER.md | 41 ++++++++++++++++++++++++++++++++++------- deploy.sh | 9 +++++---- replit.md | 13 +++++++------ setup-postgres.sql | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 95 insertions(+), 29 deletions(-) create mode 100644 setup-postgres.sql diff --git a/.env.example b/.env.example index 86908af..4980e0c 100644 --- a/.env.example +++ b/.env.example @@ -2,19 +2,21 @@ # Copiez ce fichier en .env et modifiez les valeurs selon vos besoins # Configuration de la base de données (EXTERNE) -# IMPORTANT: Utilisez l'IP externe et le port de votre serveur PostgreSQL -DATABASE_URL=postgresql://username:password@IP_EXTERNE:5432/regisflow +# PRÉCONFIGURÉE - Changez seulement l'IP de votre serveur PostgreSQL +DATABASE_URL=postgresql://regisflow:RegisFlow2024!@192.168.1.100:5432/regisflow -# Exemples de configuration : -# DATABASE_URL=postgresql://regisflow:motdepasse@192.168.1.100:5432/regisflow -# DATABASE_URL=postgresql://postgres:secret@10.0.0.5:5432/regisflow -# DATABASE_URL=postgresql://user:pass@db.example.com:5432/regisflow - -# Note: La base PostgreSQL est externe, pas dans Docker -# Assurez-vous que : -# - La base de données PostgreSQL est accessible depuis le container Docker -# - Le firewall autorise les connexions depuis Docker -# - L'utilisateur a les permissions nécessaires +# Configuration standard préconfigurée : +# - Utilisateur: regisflow +# - Mot de passe: RegisFlow2024! +# - Base de données: regisflow +# - Port: 5432 +# +# SEULE MODIFICATION NÉCESSAIRE: Remplacez 192.168.1.100 par l'IP de votre serveur PostgreSQL +# +# Instructions pour votre serveur PostgreSQL : +# 1. Créer l'utilisateur : CREATE USER regisflow WITH PASSWORD 'RegisFlow2024!'; +# 2. Créer la base : CREATE DATABASE regisflow OWNER regisflow; +# 3. Donner les permissions : GRANT ALL PRIVILEGES ON DATABASE regisflow TO regisflow; # Configuration de l'application NODE_ENV=production diff --git a/README_DOCKER.md b/README_DOCKER.md index fa3e499..5db758b 100644 --- a/README_DOCKER.md +++ b/README_DOCKER.md @@ -30,12 +30,8 @@ nano .env Éditez le fichier `.env` avec votre serveur PostgreSQL externe : ```env -# Configuration de la base de données EXTERNE -DATABASE_URL=postgresql://username:password@IP_SERVEUR:5432/regisflow - -# Exemples : -# DATABASE_URL=postgresql://postgres:motdepasse@192.168.1.100:5432/regisflow -# DATABASE_URL=postgresql://regisflow:secret@10.0.0.50:5432/regisflow +# Configuration de la base de données EXTERNE (PRÉCONFIGURÉE) +DATABASE_URL=postgresql://regisflow:RegisFlow2024!@VOTRE_IP_POSTGRES:5432/regisflow # Configuration de l'application NODE_ENV=production @@ -48,7 +44,38 @@ SESSION_SECRET=votre-cle-secrete-super-longue-et-complexe TZ=Europe/Paris ``` -**Important**: Remplacez `IP_SERVEUR`, `username`, `password` par les vraies valeurs de votre serveur PostgreSQL. +### Préparation de votre serveur PostgreSQL + +**1. Se connecter à PostgreSQL :** +```sql +sudo -u postgres psql +``` + +**2. Créer l'utilisateur et la base (préconfigurés) :** +```sql +CREATE USER regisflow WITH PASSWORD 'RegisFlow2024!'; +CREATE DATABASE regisflow OWNER regisflow; +GRANT ALL PRIVILEGES ON DATABASE regisflow TO regisflow; +\q +``` + +**3. Configuration réseau PostgreSQL :** +Éditez `/etc/postgresql/*/main/postgresql.conf` : +``` +listen_addresses = '*' +``` + +Éditez `/etc/postgresql/*/main/pg_hba.conf` : +``` +host regisflow regisflow 0.0.0.0/0 md5 +``` + +**4. Redémarrer PostgreSQL :** +```bash +sudo systemctl restart postgresql +``` + +**SEULE MODIFICATION NÉCESSAIRE** : Remplacer `VOTRE_IP_POSTGRES` par l'IP réelle de votre serveur. ### 3. Lancer l'application diff --git a/deploy.sh b/deploy.sh index 912a229..00a0b5f 100644 --- a/deploy.sh +++ b/deploy.sh @@ -28,10 +28,11 @@ docker system prune -f if [ ! -f .env ]; then echo "📝 Création du fichier .env..." cp .env.example .env - echo "⚠️ IMPORTANT: Vérifiez le fichier .env :" - echo " - DATABASE_URL doit utiliser 'postgres:5432' (réseau Docker interne)" - echo " - Changez POSTGRES_PASSWORD et SESSION_SECRET pour la sécurité" - echo " - L'accès externe à PostgreSQL se fait via localhost:5433" + echo "⚠️ IMPORTANT: Configurez l'IP de votre serveur PostgreSQL :" + echo " - Remplacez 192.168.1.100 par l'IP de votre serveur PostgreSQL" + echo " - Utilisateur/mot de passe préconfigurés : regisflow / RegisFlow2024!" + echo " - Exécutez setup-postgres.sql sur votre serveur PostgreSQL" + echo " - Changez SESSION_SECRET pour la sécurité" read -p "Appuyez sur Entrée pour continuer..." fi diff --git a/replit.md b/replit.md index dd2ffc5..d9354ed 100644 --- a/replit.md +++ b/replit.md @@ -203,12 +203,13 @@ Preferred communication style: Simple, everyday language. - ✅ Real-time monitoring of data retention status with visual indicators ### Docker Configuration (January 9, 2025) -- ✅ Complete Docker setup with multi-stage build for production optimization -- ✅ Docker Compose configuration with PostgreSQL and application services -- ✅ Automated database initialization and migration scripts +- ✅ Complete Docker setup optimized for external PostgreSQL database +- ✅ Docker Compose configuration with RegisFlow application only +- ✅ Automated database connection and migration scripts for external PostgreSQL - ✅ Health checks and proper container orchestration - ✅ Production-ready configuration with security best practices -- ✅ Persistent volumes for database and backup data -- ✅ Environment variable configuration with .env.example template +- ✅ Persistent volumes for backup data +- ✅ Environment variable configuration with preconfigured PostgreSQL credentials - ✅ Comprehensive Docker documentation with deployment instructions -- ✅ Nginx configuration removed for simplified deployment (application accessible on port 5000) \ No newline at end of file +- ✅ Nginx configuration removed for simplified deployment (application accessible on port 5000) +- ✅ Preconfigured PostgreSQL user (regisflow/RegisFlow2024!) - only IP change needed \ No newline at end of file diff --git a/setup-postgres.sql b/setup-postgres.sql new file mode 100644 index 0000000..bb98daa --- /dev/null +++ b/setup-postgres.sql @@ -0,0 +1,35 @@ +-- Script de configuration PostgreSQL pour RegisFlow +-- Exécuter sur votre serveur PostgreSQL externe + +-- Se connecter en tant que superutilisateur postgres : +-- sudo -u postgres psql + +-- 1. Créer l'utilisateur RegisFlow +CREATE USER regisflow WITH PASSWORD 'RegisFlow2024!'; + +-- 2. Créer la base de données RegisFlow +CREATE DATABASE regisflow OWNER regisflow; + +-- 3. Donner tous les privilèges à l'utilisateur +GRANT ALL PRIVILEGES ON DATABASE regisflow TO regisflow; + +-- 4. Se connecter à la base regisflow pour configurer les permissions +\c regisflow + +-- 5. Donner les permissions sur le schéma public +GRANT ALL PRIVILEGES ON SCHEMA public TO regisflow; +GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO regisflow; +GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO regisflow; + +-- 6. Permissions par défaut pour les futurs objets +ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO regisflow; +ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO regisflow; + +-- 7. Vérifier la configuration +SELECT usename, usecreatedb, usesuper FROM pg_user WHERE usename = 'regisflow'; +SELECT datname, datowner FROM pg_database WHERE datname = 'regisflow'; + +-- Configuration terminée ! +-- Utilisateur: regisflow +-- Mot de passe: RegisFlow2024! +-- Base de données: regisflow \ No newline at end of file