story-research-zapwall/RESUME-DEPLOIEMENT.md

144 lines
4.3 KiB
Markdown

# 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