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

93 lines
2.4 KiB
Markdown

# 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`.