# Résumé du déploiement - zapwall.fr ## ✅ Actions effectuées 1. **Déploiement initial** : Application déployée sur `/var/www/zapwall.fr` 2. **Service systemd** : Service `zapwall.service` créé et actif 3. **Configuration nginx** : Reverse proxy configuré dans le conteneur Docker 4. **HTTPS** : Configuration HTTPS avec redirection automatique HTTP → HTTPS 5. **Firewall** : Ports 80 et 443 ouverts ## 📍 État actuel - **Service** : ✅ Actif sur le port 3001 - **Répertoire** : `/var/www/zapwall.fr` (correct) - **HTTPS** : ✅ Configuré avec certificats auto-signés - **Certificats Let's Encrypt** : ⚠️ Non obtenus (bug certbot avec Python 3.11) ## 🔧 Problèmes identifiés et solutions ### 1. Certificats Let's Encrypt **Problème** : Certbot présente un bug (AttributeError) avec Python 3.11 **Solutions** : - Utiliser certbot via snap (recommandé) : ```bash ssh debian@92.243.27.35 sudo snap install certbot --classic sudo docker stop lecoffre_nginx_test sudo certbot certonly --standalone -d zapwall.fr --non-interactive --agree-tos --email admin@zapwall.fr sudo docker start lecoffre_nginx_test ``` ### 2. Configuration nginx **Vérification** : La configuration pointe bien vers le port 3001 (correct) - `proxy_pass http://172.17.0.1:3001;` ✅ **Note** : La configuration principale nginx.conf contient aussi une config pour `test-lecoffreio.4nkweb.com`, mais elle ne devrait pas interférer car elle utilise un `server_name` différent. ## 📝 Mise à jour du site depuis Git ### Méthode recommandée : Script automatique Depuis votre machine locale, dans le répertoire du projet : ```bash # Mise à jour depuis la branche actuelle ./update-from-git.sh # Ou spécifier une branche ./update-from-git.sh main ``` Le script : 1. Transfère les fichiers depuis votre dépôt Git local 2. Installe les dépendances (`npm ci`) 3. Construit l'application (`npm run build`) 4. Redémarre le service 5. Vérifie que tout fonctionne ### Méthode manuelle Si vous préférez faire manuellement : ```bash # 1. Transférer les fichiers tar --exclude='node_modules' \ --exclude='.next' \ --exclude='.git' \ --exclude='*.tsbuildinfo' \ --exclude='.env*.local' \ --exclude='.cursor' \ -czf - . | ssh debian@92.243.27.35 "cd /var/www/zapwall.fr && tar -xzf -" # 2. Sur le serveur ssh debian@92.243.27.35 cd /var/www/zapwall.fr npm ci npm run build sudo systemctl restart zapwall ``` ### Initialiser un dépôt Git sur le serveur (optionnel) Si vous voulez pouvoir faire `git pull` directement sur le serveur : ```bash ssh debian@92.243.35 cd /var/www/zapwall.fr git init git remote add origin https://git.4nkweb.com/4nk/story-research-zapwall.git git fetch origin git checkout main # ou la branche souhaitée ``` Ensuite, vous pourrez utiliser : ```bash ssh debian@92.243.27.35 'cd /var/www/zapwall.fr && git pull && npm ci && npm run build && sudo systemctl restart zapwall' ``` ## 🔍 Commandes de vérification ### Vérifier le service ```bash ssh debian@92.243.27.35 'sudo systemctl status zapwall' ``` ### Voir les logs ```bash ssh debian@92.243.27.35 'sudo journalctl -u zapwall -f' ``` ### Vérifier le port ```bash ssh debian@92.243.27.35 'sudo ss -tuln | grep 3001' ``` ### Vérifier la configuration nginx ```bash ssh debian@92.243.27.35 'sudo docker exec lecoffre_nginx_test cat /etc/nginx/conf.d/zapwall.fr.conf' ``` ## 📚 Fichiers de documentation créés - `README-DEPLOYMENT.md` : Guide complet de déploiement et mise à jour - `update-from-git.sh` : Script de mise à jour automatique - `fix-nginx-config.sh` : Script de correction de la configuration - `check-deployment-status.sh` : Script de vérification de l'état ## 🚀 Prochaines étapes recommandées 1. **Obtenir les certificats Let's Encrypt** via snap (voir ci-dessus) 2. **Configurer le renouvellement automatique** des certificats 3. **Tester l'accès** au site en HTTPS 4. **Configurer un dépôt Git sur le serveur** pour faciliter les mises à jour ## ⚠️ Notes importantes - Le site fonctionne actuellement avec des certificats auto-signés (avertissement navigateur) - Les modifications de code nécessitent un rebuild et un redémarrage du service - Le service doit être actif pour que le site soit accessible - Nginx fait un reverse proxy vers le port 3001 où tourne l'application Next.js