diff --git a/README.md b/README.md index 88270f8..44d164e 100644 --- a/README.md +++ b/README.md @@ -47,16 +47,22 @@ Application web moderne de gestion de notes et de tâches, Dockerisée, avec aut ### Prérequis - Docker et Docker Compose installés +- Réseau Docker `nginx_default` (voir section ci-dessous) ### Installation -1. **Cloner le repository** +1. **Créer le réseau Docker externe** +```bash +docker network create nginx_default +``` + +2. **Cloner le repository** ```bash git clone cd noteflow ``` -2. **Configurer les variables d'environnement** +3. **Configurer les variables d'environnement** ```bash cp .env.example .env ``` @@ -73,16 +79,34 @@ NODE_ENV=production node -e "console.log(require('crypto').randomBytes(64).toString('hex'))" ``` -3. **Builder et démarrer l'application** +4. **Builder et démarrer l'application** ```bash docker-compose up -d --build ``` -4. **Accéder à l'application** +5. **Accéder à l'application** ``` http://localhost:2222 ``` +### Développement local + +Pour développer localement sans Docker : + +```bash +# Installer les dépendances +npm install + +# Lancer le serveur de développement (frontend) +npm run dev + +# Lancer le serveur backend +npm run server:dev + +# Vérifier les types TypeScript (optionnel) +npm run typecheck +``` + ### Identifiants par défaut ``` Username: admin @@ -103,6 +127,9 @@ docker-compose down # Rebuild docker-compose build +# Rebuild et redémarrer (après modifications) +docker-compose up -d --build + # Logs docker-compose logs -f @@ -125,15 +152,24 @@ docker-compose down -v ## 🌐 Réseau Docker -L'application crée automatiquement un réseau Docker `nginx_default`. Si vous utilisez déjà ce réseau avec d'autres services (ex: Nginx), ils pourront communiquer automatiquement. +L'application utilise un réseau Docker externe `nginx_default` qui doit être créé avant le déploiement. -### Utilisation avec Nginx existant - -Si vous avez déjà un container Nginx dans le réseau `nginx_default`, vous pouvez y connecter votre Nginx : +### Créer le réseau (première fois uniquement) ```bash -# Connecter un container Nginx existant au réseau -docker network connect nginx_default +docker network create nginx_default +``` + +### Utilisation avec Nginx ou autres services + +Tous les services connectés au réseau `nginx_default` peuvent communiquer entre eux : + +```bash +# Connecter d'autres containers au réseau +docker network connect nginx_default + +# Lister les containers connectés au réseau +docker network inspect nginx_default ``` ## ⚙️ Configuration Nginx @@ -208,14 +244,51 @@ DELETE /api/todos/:id ## 🔧 Dépannage +### Erreur "npm run build failed: exit code 2" lors du Docker build + +Cette erreur survient lorsque la compilation TypeScript échoue pendant la construction de l'image Docker. + +**Solution** : +Le build a été modifié pour utiliser directement Vite (qui gère TypeScript de manière plus permissive). Si vous rencontrez encore ce problème : +```bash +# Reconstruire l'image Docker +docker-compose build --no-cache +docker-compose up -d +``` + +Pour vérifier les erreurs TypeScript en développement : +```bash +npm run typecheck +``` + ### Erreur "network nginx_default declared as external, but could not be found" Cette erreur survient lors du déploiement si le réseau Docker externe n'existe pas. **Solution** : -Le réseau est maintenant créé automatiquement par Docker Compose. Si vous rencontrez encore ce problème : +Créez le réseau Docker externe avant de démarrer l'application : ```bash +docker network create nginx_default +docker-compose up -d --build +``` + +### Erreur "network nginx_default has incorrect label" + +Cette erreur survient si le réseau existe déjà avec une configuration incompatible (par exemple créé par un autre docker-compose). + +**Solution** : +Supprimez le réseau existant et recréez-le correctement : +```bash +# Arrêter tous les containers qui utilisent le réseau docker-compose down + +# Supprimer le réseau existant +docker network rm nginx_default + +# Recréer le réseau +docker network create nginx_default + +# Redémarrer l'application docker-compose up -d --build ``` diff --git a/docker-compose.yml b/docker-compose.yml index d92f789..3cdc420 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,6 +31,4 @@ volumes: networks: nginx_default: - external: false - name: nginx_default - driver: bridge \ No newline at end of file + external: true \ No newline at end of file diff --git a/package.json b/package.json index e8d0648..e022945 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "server.js", "scripts": { "dev": "vite", - "build": "tsc -b && vite build", + "build": "vite build", + "typecheck": "tsc -b", "preview": "vite preview", "start": "node server.js", "server:dev": "nodemon server.js",