# 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 ```bash ./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 : ```bash ./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 ```bash ./docker-manage.sh stop ``` ### Afficher l'état des services ```bash ./docker-manage.sh status ``` ### Afficher les logs ```bash # 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 : ```bash ./docker-manage.sh start:simple ``` 2. Si vous avez déjà essayé de démarrer les conteneurs, nettoyez d'abord : ```bash docker-compose down ``` 3. Si le problème persiste, vérifiez les logs de MongoDB : ```bash docker logs managerr-mongodb ``` 4. Assurez-vous que le port 27017 est libre sur votre machine : ```bash 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`.