Files
Regisflow/PRODUCTION.md
T
michaelschal 77d77ab658 Set up database initialization process using SQL scripts and Drizzle ORM
Adds init.sql and init-db.sh for database initialization, and enhances Docker setup.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/438ba2d5-c119-4a74-9474-438eed8b3141.jpg
2025-07-11 16:01:42 +00:00

4.2 KiB

Guide de Mise en Production RegisFlow

Configuration rapide pour production

1. Télécharger et préparer

# Créer le dossier de production
mkdir /opt/regisflow && cd /opt/regisflow

# Télécharger les fichiers nécessaires
curl -O https://raw.githubusercontent.com/votre-repo/regisflow/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/votre-repo/regisflow/main/Dockerfile
curl -O https://raw.githubusercontent.com/votre-repo/regisflow/main/docker-entrypoint-simple.sh

2. Configuration environnement

Créer le fichier .env :

# === OBLIGATOIRE - À MODIFIER ===
POSTGRES_PASSWORD=VotreMotDePasseSuperSecurise123!
SESSION_SECRET=VotreCleSessionTresLongueEtSecurisee456789ABCDEF

# === APPLICATION ===
NODE_ENV=production
PORT=5000
TZ=Europe/Paris

# === SÉCURITÉ ===
SECURE_COOKIES=true
DATA_RETENTION_MONTHS=19

# === SAUVEGARDES ===
BACKUP_RETENTION_DAYS=90
MAX_BACKUP_COUNT=20

3. Déploiement immédiat

# Option A: Démarrer avec Docker Compose
docker-compose up -d --build

# Option B: Utiliser le script automatisé
chmod +x deploy-production.sh
./deploy-production.sh

# Vérifier le fonctionnement
curl http://localhost:5000/health

# Voir les logs
docker-compose logs -f regisflow

3.1 Initialisation manuelle de la base (si nécessaire)

# Si les tables ne se créent pas automatiquement
chmod +x init-db.sh
./init-db.sh

# Ou avec une DATABASE_URL spécifique
./init-db.sh "postgresql://regisflow:password@localhost:5433/regisflow"

4. Accès initial

5. Nginx reverse proxy (recommandé)

Ajouter à votre configuration Nginx :

server {
    listen 80;
    server_name votre-domaine.com;
    
    client_max_body_size 10M;  # Pour les photos
    
    location / {
        proxy_pass http://localhost:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
}

6. Maintenance courante

# Voir l'état des services
docker-compose ps

# Redémarrer l'application
docker-compose restart regisflow

# Mise à jour
docker-compose down
docker-compose up -d --build --force-recreate

# Sauvegardes manuelles
docker-compose exec regisflow node -e "require('./dist/backup-scheduler.js').createAutomaticBackup()"

# Accès aux données
docker-compose exec regisflow-db psql -U regisflow -d regisflow

7. Monitoring et logs

# Logs en temps réel
docker-compose logs -f

# Utilisation des ressources
docker stats regisflow-app regisflow-db

# Espace disque des volumes
docker system df

Fonctionnalités automatiques en production

✅ Sauvegardes automatiques : Toutes les 12h (00:00 et 12:00)
✅ Purge des données : Automatique après 19 mois (1er de chaque mois)
✅ Health checks : Surveillance continue des services
✅ Gestion des sessions : Sessions PostgreSQL sécurisées
✅ Optimisation mémoire : Configuration pour serveurs de production

Sécurité production

  • Modifier POSTGRES_PASSWORD et SESSION_SECRET
  • Configurer firewall (ports 80, 443, 22 uniquement)
  • Activer HTTPS avec certificats SSL
  • Sauvegardes régulières vers stockage externe
  • Monitoring des logs d'erreurs
  • Changer le mot de passe admin par défaut

Support et dépannage

Problèmes courants :

  1. Application inaccessible : Vérifier docker-compose ps et les logs
  2. Erreur base de données : Vérifier que PostgreSQL est démarré
  3. Photos ne se sauvegardent pas : Vérifier les permissions du volume
  4. Performance lente : Augmenter les limites mémoire Docker

Commandes de diagnostic :

# État complet du système
docker-compose ps && docker-compose logs --tail=50
docker system df && df -h

# Test complet de l'application
curl -v http://localhost:5000/health
curl -v http://localhost:5000/api/auth/default-credentials-status