Problème:
La configuration précédente (external: false) était incorrecte. Le réseau
nginx_default DOIT être un réseau externe créé manuellement avant le
déploiement. L'erreur "network has incorrect label" indiquait que le
réseau existait avec une configuration incompatible.
Solution correcte:
- Revert docker-compose.yml: external: false → external: true
- Le réseau nginx_default doit être créé avec "docker network create"
- Documentation complète de la création du réseau externe
- Ajout troubleshooting pour l'erreur "incorrect label"
Changements:
- docker-compose.yml: Restauration de external: true (config correcte)
- README.md:
* Ajout étape 1: Créer le réseau externe avant tout
* Section "Réseau Docker" mise à jour avec les bonnes pratiques
* Troubleshooting: Ajout solution pour "incorrect label"
* Clarification: Le réseau est EXTERNE et partagé entre services
Pourquoi externe:
- Permet le partage du réseau entre plusieurs stacks Docker Compose
- Nécessaire pour la communication avec Nginx ou autres services
- Persist après "docker-compose down"
- Architecture standard pour les déploiements multi-services
Problème:
Le redéploiement du stack échouait avec l'erreur "network nginx_default
declared as external, but could not be found" car le réseau Docker externe
n'existait pas.
Solution:
- Modification du réseau nginx_default de externe à interne dans docker-compose.yml
- Le réseau est maintenant créé automatiquement par Docker Compose
- Ajout de documentation pour l'utilisation avec Nginx existant
- Ajout d'une section de dépannage pour cette erreur spécifique
Changements:
- docker-compose.yml: Changement de external: true à external: false avec
configuration explicite du driver bridge
- README.md: Suppression du prérequis réseau externe, ajout de la section
"Réseau Docker" et documentation de l'erreur dans le dépannage
Cette modification permet au stack de se déployer automatiquement sans
nécessiter de configuration réseau préalable, tout en restant compatible
avec des services Nginx existants.
- Remplacement des bind mounts par des volumes Docker nommés
- Les volumes notes_data et notes_uploads ont automatiquement les bonnes permissions
- Correction de l'erreur SQLITE_CANTOPEN
- Mise à jour du README avec les commandes de backup pour volumes Docker
- L'utilisateur node dans le container peut maintenant écrire dans les volumes
Modifications:
- docker-compose.yml: port mapping 2222:2222 et variable PORT=2222
- Dockerfile: EXPOSE 2222 et healthcheck sur port 2222
- server.js: port par défaut changé de 3000 à 2222
- .env.example: PORT=2222
- README.md: toutes les références au port 3000 remplacées par 2222
(installation, accès, configuration Nginx)
L'application écoute maintenant sur le port 2222 au lieu de 3000.