mirror of
https://github.com/R0m1k3/Regisflow.git
synced 2026-10-11 17:29:48 +02:00
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:
1 parent
0aeed7dd9b
commit
f8b7a17d61
3 files changed
+473
No files matched your search
@@ -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
@@ -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 !**
|
||||
@@ -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.
|
||||
Reference in new issue
Block a user