managerr/DOCKER.md
2025-07-25 17:11:07 +02:00

2.4 KiB

Guide d'utilisation de Docker avec Managerr

Ce document explique comment utiliser Docker pour exécuter l'application Managerr.

Prérequis

  • Docker installé sur votre machine
  • Docker Compose installé sur votre machine

Commandes de base

Démarrage standard

./docker-manage.sh start

Cette commande démarre tous les services (MongoDB, backend et frontend) avec la configuration standard qui inclut des healthchecks pour s'assurer que MongoDB est prêt avant de démarrer le backend.

Démarrage simplifié (en cas de problème)

Si vous rencontrez l'erreur "dependency failed to start: container managerr-mongodb is unhealthy", utilisez cette commande :

./docker-manage.sh start:simple

Cette commande utilise une configuration simplifiée sans healthcheck, ce qui peut résoudre les problèmes de démarrage.

Arrêt des services

./docker-manage.sh stop

Afficher l'état des services

./docker-manage.sh status

Afficher les logs

# Tous les services
./docker-manage.sh logs

# Seulement le frontend
./docker-manage.sh logs:front

# Seulement le backend
./docker-manage.sh logs:back

# Seulement MongoDB
./docker-manage.sh logs:db

Résolution des problèmes

Erreur : "dependency failed to start: container managerr-mongodb is unhealthy"

Cette erreur se produit généralement lorsque le healthcheck de MongoDB échoue. Plusieurs solutions sont possibles :

  1. Utilisez la commande de démarrage simplifiée :

    ./docker-manage.sh start:simple
    
  2. Si vous avez déjà essayé de démarrer les conteneurs, nettoyez d'abord :

    docker-compose down
    
  3. Si le problème persiste, vérifiez les logs de MongoDB :

    docker logs managerr-mongodb
    
  4. Assurez-vous que le port 27017 est libre sur votre machine :

    sudo lsof -i :27017
    

    Si un autre service utilise ce port, arrêtez-le ou modifiez le port dans docker-compose.yml.

Problème de connexion depuis le backend vers MongoDB

Si le backend ne parvient pas à se connecter à MongoDB, vérifiez que l'URL de connexion est correcte dans le fichier .env du backend et dans docker-compose.yml. Dans le contexte Docker, l'URL doit être :

mongodb://root:rootpassword@mongodb:27017/managerr?authSource=admin

Notez que l'hôte est mongodb (le nom du service dans docker-compose.yml) et non localhost.