Files
Regisflow/README_DOCKER.md
T
michaelschal 3028259f6e Simplify deployment and improve database access instructions for users
Adds an automatic deployment script, updates the database port mapping in docker-compose, and provides clearer instructions for database access.

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
2025-07-09 20:43:12 +00:00

6.0 KiB

RegisFlow - Déploiement Docker

Ce guide vous explique comment déployer RegisFlow avec Docker et Docker Compose.

🐳 Prérequis

  • Docker Engine 20.10 ou supérieur
  • Docker Compose 2.0 ou supérieur
  • Au minimum 1 GB de RAM libre
  • Au minimum 2 GB d'espace disque libre

🚀 Démarrage Rapide

1. Préparer l'environnement

# Cloner le projet
git clone <votre-repo>
cd regisflow

# Copier et configurer le fichier d'environnement
cp .env.example .env

# Éditer le fichier .env avec vos paramètres
nano .env

2. Configurer les variables d'environnement

Éditez le fichier .env :

# Configuration de la base de données
DATABASE_URL=postgresql://regisflow:votre_mot_de_passe@postgres:5432/regisflow
POSTGRES_PASSWORD=votre_mot_de_passe_securise

# Configuration de l'application
NODE_ENV=production
PORT=5000

# Clé secrète pour les sessions (OBLIGATOIRE EN PRODUCTION)
SESSION_SECRET=votre-cle-secrete-super-longue-et-complexe

# Configuration du timezone
TZ=Europe/Paris

3. Lancer l'application

Option 1 : Script automatique (recommandé)

# Utiliser le script de déploiement automatique
chmod +x deploy.sh
./deploy.sh

Option 2 : Commandes manuelles

# Construire et démarrer tous les services
docker-compose up -d

# Vérifier les logs
docker-compose logs -f

# Accéder à l'application
# http://localhost:5000

📋 Services Inclus

1. PostgreSQL (Base de données)

  • Port externe: 5433 (pour éviter les conflits)
  • Port interne: 5432 (communication entre containers)
  • Database: regisflow
  • Utilisateur: regisflow
  • Données persistantes: Volume postgres_data

2. RegisFlow (Application)

  • Port: 5000
  • Dépendances: PostgreSQL
  • Sauvegardes: Volume backup_data
  • Health check: /health

🔧 Commandes Utiles

Gestion des services

# Démarrer les services
docker-compose up -d

# Arrêter les services
docker-compose down

# Redémarrer un service
docker-compose restart regisflow

# Voir les logs
docker-compose logs -f regisflow

# Voir le statut des services
docker-compose ps

Gestion des données

# Sauvegarder la base de données
docker-compose exec postgres pg_dump -U regisflow regisflow > backup.sql

# Restaurer la base de données
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

# Mettre à jour l'application
docker-compose pull
docker-compose up -d --build

# Nettoyer les images inutilisées
docker system prune -f

# Voir l'utilisation des volumes
docker volume ls
docker volume inspect regisflow_postgres_data

🛡️ Sécurité

Configuration de production

  1. Changez les mots de passe par défaut :

    • POSTGRES_PASSWORD
    • SESSION_SECRET
  2. Configurez HTTPS :

    • Obtenez un certificat SSL
    • Modifiez nginx.conf pour le HTTPS
    • Activez secure: true pour les cookies
  3. Limitez l'accès réseau :

    • Utilisez un firewall
    • Limitez l'accès aux ports nécessaires

Sauvegarde automatique

L'application inclut un système de sauvegarde automatique :

  • Sauvegarde toutes les 12 heures
  • Conservation des 10 dernières sauvegardes
  • Stockage dans le volume backup_data

📊 Surveillance

Health Checks

# Vérifier la santé de l'application
curl http://localhost:5000/health

# Vérifier via Docker
docker-compose exec regisflow wget -qO- http://localhost:5000/health

Métriques

# Statistiques des conteneurs
docker stats

# Utilisation des volumes
docker system df

🔧 Dépannage

Problèmes courants

  1. L'application ne démarre pas :

    # Vérifier les logs
    docker-compose logs regisflow
    
    # Vérifier la base de données
    docker-compose logs postgres
    
  2. Erreur de connexion à la base :

    # Vérifier que PostgreSQL est démarré
    docker-compose ps postgres
    
    # Tester la connexion
    docker-compose exec postgres pg_isready -U regisflow
    
  3. Problème de permissions :

    # Vérifier les permissions des volumes
    docker-compose exec regisflow ls -la /app/backups
    

Réinitialisation complète

# Arrêter tous les services
docker-compose down

# Supprimer les volumes (ATTENTION: perte de données)
docker-compose down -v

# Nettoyer les images
docker system prune -af

# Redémarrer
docker-compose up -d

🔄 Mise à jour

Mise à jour de l'application

# Récupérer les dernières modifications
git pull origin main

# Reconstruire et redémarrer
docker-compose up -d --build

# Vérifier les logs
docker-compose logs -f regisflow

Migration de données

L'application gère automatiquement les migrations de base de données au démarrage.

📝 Configuration Avancée

Accès via Reverse Proxy (Optionnel)

Si vous souhaitez ajouter un reverse proxy (Nginx, Apache, etc.) :

  • Configurez le proxy pour pointer vers localhost:5000
  • Ajoutez la configuration SSL/TLS si nécessaire
  • Optimisez les performances selon vos besoins

Variables d'environnement complètes

# Base de données
DATABASE_URL=postgresql://regisflow:password@postgres:5432/regisflow
POSTGRES_PASSWORD=password

# Application
NODE_ENV=production
PORT=5000
SESSION_SECRET=your-secret-key

# Timezone
TZ=Europe/Paris

# Sauvegardes (optionnel)
BACKUP_RETENTION_DAYS=30
MAX_BACKUP_COUNT=10

# Logs (optionnel)
LOG_LEVEL=info

🆘 Support

En cas de problème :

  1. Vérifiez les logs : docker-compose logs
  2. Consultez la documentation
  3. Vérifiez les issues sur GitHub
  4. Contactez le support

📚 Liens Utiles