Files
Regisflow/README_DOCKER.md
T
michaelschal ec38451a81 Prepare application for deployment using Docker containers
Adds Dockerfile, docker-compose.yml, .dockerignore, nginx.conf, init.sql and updates replit.md and server/routes.ts.

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/c3a86207-4ee0-47f9-8062-2dbbae696290.jpg
2025-07-09 20:09:39 +00:00

5.7 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

# 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 (avec nginx)
# ou http://localhost:5000 (accès direct)

📋 Services Inclus

1. PostgreSQL (Base de données)

  • Port: 5432
  • 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

3. Nginx (Reverse Proxy)

  • Port: 80 (HTTP)
  • Port: 443 (HTTPS - à configurer)
  • Compression: Gzip activée
  • Cache: Optimisé pour les assets statiques

🔧 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

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

Personnalisation de Nginx

Éditez le fichier nginx.conf pour :

  • Configurer SSL/TLS
  • Ajouter des règles de sécurité
  • Optimiser les performances

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