Files
WebNationsGlory_ServeurBuil…/MAINTENANCE.md
y.campiontrebouta@innotexnas.ovh 4c48ee5fe4 docs: nettoyage complet et mise à jour de la documentation
- Suppression de 10 fichiers obsolètes (scripts, tests, docs temporaires)
- Suppression des dossiers vides (frontend/src, backend/src/middlewares)
- Réecriture complète de 7 fichiers de documentation
- README.md: vue d'ensemble avec toutes les fonctionnalités actuelles
- QUICKSTART.md: guide de démarrage rapide en 3 étapes
- CONFIGURATION.md: guide de configuration complète (Docker, RCON, sécurité)
- DEPLOYMENT.md: guide de déploiement production (HTTPS, reverse proxy, backups)
- MAINTENANCE.md: guide de maintenance avec dépannage exhaustif
- INDEX.md: index de navigation simplifié
- CHANGELOG.md: historique complet v1.0.0
- Optimisation docker-compose.yml (suppression version dépréciée)
- Vérification des dépendances (toutes utilisées)
- Création du rapport de nettoyage (.cleanup-report.md)
- Documentation cohérente avec le code actuel
- Projet 100% prêt pour la production
2026-02-04 23:39:36 +01:00

470 lines
10 KiB
Markdown

# Maintenance - NationsGlory Web Admin
Guide de maintenance quotidienne et dépannage du panel d'administration.
## 🔄 Opérations Quotidiennes
### Démarrer le Panel
```bash
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
docker-compose up -d
```
### Arrêter le Panel
```bash
docker-compose down
```
### Redémarrer le Panel
```bash
docker-compose restart app
```
### Voir les Logs
```bash
# Logs en temps réel
docker-compose logs -f app
# Dernières 100 lignes
docker-compose logs --tail=100 app
# Logs avec timestamp
docker-compose logs -t app
```
## 📊 Monitoring
### État des Services
```bash
# Vérifier que le conteneur tourne
docker-compose ps
# Détails du conteneur
docker inspect webnationsglory_serveurbuild_red-app-1
# Utilisation des ressources
docker stats
```
### Vérifier le Panel Web
```bash
# Test HTTP
curl -I http://localhost:4001
# Tester la page de login
curl http://localhost:4001 | grep -i "login"
```
### Vérifier RCON
```bash
# Avec rcon-cli (depuis le conteneur Minecraft)
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse
# Commande test
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse list
```
### Vérifier les Volumes
```bash
# Liste des volumes
docker volume ls | grep web
# Inspecter le volume web-admin
docker volume inspect webnationsglory_serveurbuild_red_web-admin
# Voir le contenu
docker run --rm -v webnationsglory_serveurbuild_red_web-admin:/data alpine ls -lah /data/.web-admin/
```
## 🔧 Maintenance Régulière
### Nettoyage Docker
```bash
# Supprimer les images inutilisées
docker image prune -a
# Supprimer les conteneurs arrêtés
docker container prune
# Supprimer les volumes orphelins
docker volume prune
# Tout nettoyer (attention!)
docker system prune -a --volumes
```
### Mise à Jour du Panel
```bash
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
# Pull des modifications (si git)
git pull origin main
# Rebuild de l'image
docker-compose build --no-cache
# Redémarrer
docker-compose down
docker-compose up -d
```
### Rotation des Logs RCON
L'historique RCON est limité automatiquement, mais vous pouvez le nettoyer manuellement :
```bash
# Supprimer l'historique via l'API
curl -X DELETE http://localhost:4001/api/rcon/history
# Ou directement dans le volume
docker run --rm -v webnationsglory_serveurbuild_red_web-admin:/data alpine rm /data/.web-admin/rcon-history.json
```
## 💾 Backups
### Backup Manuel du Volume web-admin
```bash
# Créer un dossier de backup
mkdir -p ~/backups/nationsglory
# Backup du volume
docker run --rm \
-v webnationsglory_serveurbuild_red_web-admin:/data \
-v ~/backups/nationsglory:/backup \
alpine tar czf /backup/web-admin-$(date +%Y%m%d-%H%M%S).tar.gz -C /data .
echo "Backup créé dans ~/backups/nationsglory/"
```
### Restaurer un Backup
```bash
# Arrêter le conteneur
docker-compose down
# Restaurer
docker run --rm \
-v webnationsglory_serveurbuild_red_web-admin:/data \
-v ~/backups/nationsglory:/backup \
alpine sh -c "cd /data && tar xzf /backup/web-admin-YYYYMMDD-HHMMSS.tar.gz"
# Redémarrer
docker-compose up -d
```
### Backup Automatique (Cron)
Créez `/opt/backup-web-admin.sh` :
```bash
#!/bin/bash
BACKUP_DIR="$HOME/backups/nationsglory"
DATE=$(date +%Y%m%d-%H%M%S)
mkdir -p "$BACKUP_DIR"
docker run --rm \
-v webnationsglory_serveurbuild_red_web-admin:/data \
-v "$BACKUP_DIR":/backup \
alpine tar czf "/backup/web-admin-$DATE.tar.gz" -C /data .
# Garder seulement les 7 derniers
ls -t "$BACKUP_DIR"/web-admin-*.tar.gz | tail -n +8 | xargs -r rm
echo "✅ Backup créé: web-admin-$DATE.tar.gz"
```
Puis :
```bash
chmod +x /opt/backup-web-admin.sh
# Ajouter au crontab (tous les jours à 2h)
crontab -e
# Ajouter: 0 2 * * * /opt/backup-web-admin.sh
```
## 🐛 Dépannage
### Le Panel ne Démarre Pas
**Symptômes** : `docker-compose up -d` échoue
```bash
# Voir les logs d'erreur
docker-compose logs app
# Vérifier les ports occupés
lsof -i :4001
# Reconstruire from scratch
docker-compose down
docker-compose build --no-cache
docker-compose up -d
```
### Erreur de Connexion RCON
**Symptômes** : "Failed to connect to RCON"
```bash
# 1. Vérifier que le serveur MC est démarré
docker ps | grep mc-nationsglory
# 2. Vérifier que RCON est actif
docker logs mc-nationsglory | grep RCON
# 3. Tester RCON manuellement
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse
# 4. Vérifier le mot de passe dans docker-compose.yml
cat docker-compose.yml | grep -A 5 environment
# 5. Vérifier server.properties
docker exec mc-nationsglory cat /mc-server/server.properties | grep rcon
```
### Les Joueurs ne s'Affichent Pas
**Symptômes** : Liste vide dans la section Players
```bash
# 1. Vérifier le dossier players
docker exec mc-nationsglory ls -la /mc-server/world/players/
# 2. Vérifier usercache.json
docker exec mc-nationsglory cat /mc-server/usercache.json
# 3. Vérifier les permissions
docker exec mc-nationsglory ls -la /mc-server/world/
# 4. Voir les logs du panel
docker-compose logs app | grep -i player
```
### Impossible de se Connecter au Panel
**Symptômes** : "Invalid credentials" ou "Not an OP"
```bash
# 1. Vérifier ops.txt
docker exec mc-nationsglory cat /mc-server/ops.txt
# 2. Ajouter un OP si nécessaire
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse
> op VotreNom
# 3. Vérifier le fichier users.json
cat backend/data/users.json
# 4. Vider le cache navigateur et réessayer
```
### L'Historique RCON ne se Sauvegarde Pas
**Symptômes** : Historique vide après redémarrage
```bash
# 1. Vérifier que le volume existe
docker volume ls | grep web
# 2. Vérifier les permissions
docker run --rm -v webnationsglory_serveurbuild_red_web-admin:/data alpine ls -la /data/.web-admin/
# 3. Vérifier que le dossier est créé
docker exec webnationsglory_serveurbuild_red-app-1 ls -la /mc-server/.web-admin/
# 4. Voir les logs pour erreurs d'écriture
docker-compose logs app | grep -i "history\|error"
```
### Les Paramètres ne se Sauvegardent Pas
**Symptômes** : Modifications dans Settings non persistées
```bash
# 1. Vérifier que le volume n'est pas en lecture seule
docker inspect webnationsglory_serveurbuild_red-app-1 | grep -A 10 Mounts
# 2. Vérifier les permissions de server.properties
docker exec mc-nationsglory ls -la /mc-server/server.properties
# 3. Tester l'écriture
docker exec webnationsglory_serveurbuild_red-app-1 touch /mc-server/test.txt
# 4. Voir les logs
docker-compose logs app | grep -i "settings\|server.properties"
```
### Le Serveur ne Redémarre/s'Arrête Pas
**Symptômes** : Boutons Shutdown/Restart ne fonctionnent pas
```bash
# 1. Vérifier la connexion RCON
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse
# 2. Tester la commande stop manuellement
docker exec -it mc-nationsglory rcon-cli --password VotreMotDePasse
> stop
# 3. Voir les logs du panel
docker-compose logs -f app
# Puis cliquer sur le bouton
# 4. Vérifier la console JavaScript (F12 dans le navigateur)
```
### Performance Lente
**Symptômes** : Le panel répond lentement
```bash
# 1. Vérifier l'utilisation CPU/RAM
docker stats webnationsglory_serveurbuild_red-app-1
# 2. Vérifier les logs pour erreurs
docker-compose logs app | grep -i error
# 3. Nettoyer l'historique RCON si trop volumineux
curl -X DELETE http://localhost:4001/api/rcon/history
# 4. Redémarrer le conteneur
docker-compose restart app
```
## 🔍 Vérifications de Santé
### Checklist Quotidienne
```bash
# Script de vérification
#!/bin/bash
echo "=== Vérification Panel NationsGlory ==="
# 1. Conteneur actif
docker-compose ps | grep -q "Up" && echo "✅ Conteneur actif" || echo "❌ Conteneur arrêté"
# 2. Panel accessible
curl -s http://localhost:4001 > /dev/null && echo "✅ Panel accessible" || echo "❌ Panel inaccessible"
# 3. RCON fonctionnel
docker exec mc-nationsglory rcon-cli --password VotreMotDePasse list > /dev/null 2>&1 && echo "✅ RCON OK" || echo "❌ RCON KO"
# 4. Volume web-admin existe
docker volume ls | grep -q web-admin && echo "✅ Volume web-admin OK" || echo "❌ Volume manquant"
# 5. Espace disque
df -h / | tail -1 | awk '{print "💾 Espace disque: " $5 " utilisé"}'
echo "=== Fin de la vérification ==="
```
### Checklist Hebdomadaire
- [ ] Vérifier les logs pour erreurs : `docker-compose logs app | grep -i error`
- [ ] Nettoyer les images Docker inutilisées : `docker image prune`
- [ ] Vérifier l'espace disque : `df -h`
- [ ] Tester la connexion au panel
- [ ] Tester l'envoi de commandes RCON
- [ ] Vérifier que les backups fonctionnent
### Checklist Mensuelle
- [ ] Backup complet du volume web-admin
- [ ] Mise à jour du panel (si disponible)
- [ ] Vérifier les certificats SSL (si HTTPS)
- [ ] Nettoyer les logs anciens
- [ ] Réviser les accès OP
- [ ] Tester la restauration d'un backup
## 📝 Logs Utiles
### Emplacement des Logs
```bash
# Logs Docker du panel
docker-compose logs app
# Logs Nginx (si reverse proxy)
/var/log/nginx/nationsglory-admin-access.log
/var/log/nginx/nationsglory-admin-error.log
# Logs du serveur Minecraft
docker exec mc-nationsglory cat /mc-server/logs/latest.log
```
### Recherche dans les Logs
```bash
# Erreurs uniquement
docker-compose logs app | grep -i error
# Connexions
docker-compose logs app | grep -i "login\|auth"
# Commandes RCON
docker-compose logs app | grep -i rcon
# Dernières 24h
docker-compose logs --since 24h app
```
## 🚨 Alertes et Notifications
### Script de Monitoring
Créez `/opt/monitor-nationsglory.sh` :
```bash
#!/bin/bash
WEBHOOK="https://discord.com/api/webhooks/..." # Discord webhook (optionnel)
# Vérifier que le panel tourne
if ! curl -s http://localhost:4001 > /dev/null; then
echo "❌ ALERTE: Panel NationsGlory inaccessible!"
# curl -X POST -H 'Content-Type: application/json' \
# -d '{"content":"🚨 Panel NationsGlory DOWN!"}' \
# "$WEBHOOK"
exit 1
fi
# Vérifier RCON
if ! docker exec mc-nationsglory rcon-cli --password VotreMotDePasse list > /dev/null 2>&1; then
echo "❌ ALERTE: RCON ne répond pas!"
exit 1
fi
echo "✅ Tout fonctionne normalement"
```
Cron toutes les 5 minutes :
```bash
crontab -e
# Ajouter: */5 * * * * /opt/monitor-nationsglory.sh
```
## 📚 Ressources
- [README.md](README.md) - Vue d'ensemble
- [CONFIGURATION.md](CONFIGURATION.md) - Configuration détaillée
- [DEPLOYMENT.md](DEPLOYMENT.md) - Guide de déploiement
- [CHANGELOG.md](CHANGELOG.md) - Historique des versions
---
**Support** : Pour tout problème non résolu, vérifier les logs avec `docker-compose logs -f app` et consulter la section Dépannage.