# 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.