Provide instructions to deploy the application using Docker containers

Adds DEPLOYMENT_GUIDE.md, QUICK_START.md, and README_PRODUCTION.md to document Docker-based deployment for production environments.

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/b677ee4d-d452-4e7b-9ac9-ca1e468cd60b.jpg
This commit is contained in:
michaelschal committed 2025-07-09 21:50:27 +00:00
1 parent 0aeed7dd9b
commit f8b7a17d61
3 files changed
+473

No files matched your search

+244
View File
@@ -0,0 +1,244 @@
# Guide de Déploiement Production RegisFlow
## Pré-requis
1. **Docker et Docker Compose installés**
```bash
# Ubuntu/Debian
sudo apt update
sudo apt install docker.io docker-compose
# CentOS/RHEL
sudo yum install docker docker-compose
```
2. **Cloner le projet**
```bash
git clone <votre-repo-regisflow>
cd regisflow
```
## Configuration de Production
### 1. Créer le fichier d'environnement
```bash
# Copier le fichier d'exemple
cp .env.example .env
# Éditer le fichier .env avec vos valeurs
nano .env
```
### 2. Configurer les variables OBLIGATOIRES
Dans le fichier `.env`, changez OBLIGATOIREMENT :
```bash
# Générer un mot de passe fort pour PostgreSQL
POSTGRES_PASSWORD=VotreMotDePassePostgreSQL2024!
# Générer une clé secrète pour les sessions
SESSION_SECRET=$(openssl rand -base64 32)
```
### 3. Créer les répertoires de données
```bash
# Créer les répertoires nécessaires
mkdir -p data/{postgres,backups,logs,postgres-logs}
chmod 755 data data/*
```
## Déploiement Automatique
### Option 1 : Script de déploiement automatique
```bash
# Rendre le script exécutable
chmod +x deploy-prod.sh
# Exécuter le déploiement
./deploy-prod.sh
```
### Option 2 : Déploiement manuel
```bash
# Construire les images
docker-compose build
# Démarrer les services
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# Vérifier le statut
docker-compose ps
```
## Vérification du Déploiement
1. **Vérifier les services**
```bash
docker-compose ps
```
2. **Accéder à l'application**
- RegisFlow : http://localhost:5000
- PostgreSQL : localhost:5433
3. **Vérifier les logs**
```bash
# Logs application
docker-compose logs regisflow
# Logs base de données
docker-compose logs regisflow-db
```
## Connexion Initiale
1. **Compte administrateur par défaut**
- Utilisateur : `admin`
- Mot de passe : `admin123`
2. **Première connexion**
- Connectez-vous avec les identifiants par défaut
- Changez IMMÉDIATEMENT le mot de passe administrateur
- Créez vos utilisateurs et magasins
## Maintenance
### Sauvegardes
```bash
# Sauvegarde manuelle
docker-compose exec regisflow-db pg_dump -U regisflow regisflow > backup_$(date +%Y%m%d).sql
# Sauvegarde automatique (déjà configurée dans l'app)
# - Toutes les 12 heures
# - Conservation des 10 dernières sauvegardes
```
### Monitoring
```bash
# Utiliser le script de monitoring
./monitoring.sh
# Ou manuellement
docker-compose logs -f
docker stats
```
### Mise à jour
```bash
# Arrêter les services
docker-compose down
# Récupérer les mises à jour
git pull
# Reconstruire et redémarrer
docker-compose build
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
```
## Sécurité Production
### Configuration HTTPS (Recommandé)
1. **Installer Nginx**
```bash
sudo apt install nginx
```
2. **Configurer le reverse proxy**
```bash
# Copier la configuration Nginx
sudo cp nginx-reverse-proxy.conf /etc/nginx/sites-available/regisflow
sudo ln -s /etc/nginx/sites-available/regisflow /etc/nginx/sites-enabled/
# Redémarrer Nginx
sudo systemctl restart nginx
```
3. **Obtenir un certificat SSL**
```bash
# Installer Certbot
sudo apt install certbot python3-certbot-nginx
# Obtenir le certificat
sudo certbot --nginx -d votre-domaine.com
```
### Sécurisation
1. **Firewall**
```bash
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
```
2. **Permissions**
```bash
chmod 600 .env
chown root:root .env
```
## Dépannage
### Problèmes courants
1. **Service ne démarre pas**
```bash
docker-compose logs regisflow
```
2. **Base de données non accessible**
```bash
docker-compose exec regisflow-db psql -U regisflow -d regisflow
```
3. **Erreur de migration**
```bash
docker-compose exec regisflow npx drizzle-kit push
```
### Commandes utiles
```bash
# Redémarrer un service
docker-compose restart regisflow
# Accéder au container
docker-compose exec regisflow sh
# Voir les ressources utilisées
docker stats
# Nettoyer les volumes (ATTENTION : supprime les données)
docker-compose down -v
```
## Support
- **Documentation** : README.md
- **Configuration** : .env.example
- **Logs** : `docker-compose logs -f`
- **Monitoring** : `./monitoring.sh`
## Caractéristiques Production
- ✅ Multi-utilisateur avec rôles (Admin, Manager, Employee)
- ✅ Multi-magasins avec isolation des données
- ✅ Sauvegardes automatiques toutes les 12 heures
- ✅ Purge automatique des données > 19 mois
- ✅ Interface responsive mobile/desktop
- ✅ Export PDF et CSV
- ✅ Validation EAN-13 et conformité réglementaire
- ✅ Sécurité par défaut (HTTPS, sessions sécurisées)
- ✅ Monitoring et health checks
- ✅ Conteneurs sécurisés (utilisateur non-root)
+119
View File
@@ -0,0 +1,119 @@
# Démarrage Rapide RegisFlow - Production Docker
## 🚀 Déploiement en 5 minutes
### 1. Préparer l'environnement
```bash
# Cloner le projet
git clone <votre-repo>
cd regisflow
# Configurer l'environnement
cp .env.example .env
nano .env # Changer POSTGRES_PASSWORD et SESSION_SECRET
# Créer les répertoires
mkdir -p data/{postgres,backups,logs}
```
### 2. Déployer
```bash
# Déploiement automatique
chmod +x deploy-prod.sh
./deploy-prod.sh
# OU déploiement manuel
docker-compose build
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
```
### 3. Accéder à l'application
- **URL** : http://localhost:5000
- **Utilisateur** : admin
- **Mot de passe** : admin123
### 4. Configuration initiale
1. Connectez-vous avec admin/admin123
2. Changez le mot de passe administrateur
3. Créez vos magasins et utilisateurs
## ⚡ Commandes essentielles
```bash
# Vérifier le statut
docker-compose ps
# Voir les logs
docker-compose logs -f
# Arrêter/démarrer
docker-compose down
docker-compose up -d
# Sauvegarde
docker-compose exec regisflow-db pg_dump -U regisflow regisflow > backup.sql
```
## 🔧 Variables obligatoires (.env)
```bash
# À changer OBLIGATOIREMENT
POSTGRES_PASSWORD=VotreMotDePasseSecurise2024!
SESSION_SECRET=$(openssl rand -base64 32)
# Configuration de base
NODE_ENV=production
PORT=5000
TZ=Europe/Paris
```
## 📊 Monitoring
```bash
# Script de monitoring
./monitoring.sh
# Santé des services
curl http://localhost:5000/health
# Ressources utilisées
docker stats
```
## 🔒 Sécurité
Pour la production, configurez HTTPS avec Nginx :
```bash
# Copier la configuration
sudo cp nginx-reverse-proxy.conf /etc/nginx/sites-available/regisflow
sudo ln -s /etc/nginx/sites-available/regisflow /etc/nginx/sites-enabled/
# Certificat SSL
sudo certbot --nginx -d votre-domaine.com
```
## 🚨 Dépannage
```bash
# Si un service ne démarre pas
docker-compose logs regisflow
# Si problème de base de données
docker-compose exec regisflow-db psql -U regisflow -d regisflow
# Redémarrer tout
docker-compose restart
```
## 📱 Fonctionnalités
- Multi-utilisateur (Admin/Manager/Employee)
- Multi-magasins avec isolation
- Sauvegardes automatiques
- Purge automatique (19 mois)
- Export PDF/CSV
- Validation EAN-13
- Interface mobile responsive
**🎯 L'application est maintenant prête pour la production !**
+110
View File
@@ -0,0 +1,110 @@
# RegisFlow - Application de Production
## 🎯 Application Prête pour la Production
RegisFlow est maintenant entièrement configurée pour un déploiement en production sous Docker avec toutes les fonctionnalités de sécurité et de performance nécessaires.
## 🚀 Déploiement Immédiat
### Option 1 : Déploiement automatique (Recommandé)
```bash
# 1. Configurer l'environnement
cp .env.example .env
nano .env # Changez POSTGRES_PASSWORD et SESSION_SECRET
# 2. Créer les répertoires
mkdir -p data/{postgres,backups,logs}
# 3. Déployer automatiquement
./deploy-prod.sh
```
### Option 2 : Déploiement manuel
```bash
# 1. Construire les images
docker-compose build
# 2. Démarrer en production
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
# 3. Vérifier le statut
docker-compose ps
```
## 📊 Accès à l'Application
- **URL** : http://localhost:5000
- **Compte par défaut** : admin / admin123
- **PostgreSQL** : localhost:5433
## 🔧 Configuration Minimale Requise
Dans le fichier `.env`, changez OBLIGATOIREMENT :
```bash
# Mot de passe PostgreSQL fort
POSTGRES_PASSWORD=VotreMotDePasseSecurise2024!
# Clé secrète pour sessions (générez avec: openssl rand -base64 32)
SESSION_SECRET=VotreCleSecreteFortePourLesSessions
```
## 🔒 Sécurité Production
- ✅ Utilisateur non-root dans les conteneurs
- ✅ Réseau Docker isolé
- ✅ Sessions sécurisées avec PostgreSQL
- ✅ Health checks automatiques
- ✅ Limites de ressources définies
- ✅ Configuration HTTPS prête (avec Nginx)
## 📱 Fonctionnalités Intégrées
- **Multi-utilisateur** : Admin, Manager, Employee
- **Multi-magasins** : Isolation complète des données
- **Conformité réglementaire** : Validation EAN-13, purge 19 mois
- **Sauvegardes automatiques** : Toutes les 12 heures
- **Export de données** : PDF, CSV
- **Interface responsive** : Mobile et desktop
- **Monitoring intégré** : Logs et métriques
## 🚨 Commandes Essentielles
```bash
# Vérifier le statut
docker-compose ps
# Voir les logs
docker-compose logs -f regisflow
# Arrêter/Redémarrer
docker-compose down
docker-compose up -d
# Sauvegarde manuelle
docker-compose exec regisflow-db pg_dump -U regisflow regisflow > backup.sql
# Monitoring
./monitoring.sh
```
## 📋 Prochaines Étapes
1. **Configurez HTTPS** avec Nginx (configuration incluse)
2. **Changez le mot de passe admin** lors de la première connexion
3. **Créez vos magasins et utilisateurs**
4. **Testez les sauvegardes**
5. **Configurez le monitoring**
## 📞 Support
- **Guide complet** : DEPLOYMENT_GUIDE.md
- **Démarrage rapide** : QUICK_START.md
- **Configuration** : .env.example
- **Logs** : `docker-compose logs -f`
**🎉 L'application est maintenant prête pour la production !**
Consultez `DEPLOYMENT_GUIDE.md` pour la configuration complète et `QUICK_START.md` pour un démarrage rapide.