- 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
10 KiB
Maintenance - NationsGlory Web Admin
Guide de maintenance quotidienne et dépannage du panel d'administration.
🔄 Opérations Quotidiennes
Démarrer le Panel
cd /home/innotex/Documents/Projet/Serveur\ NationsGlory/WebNationsGlory_ServeurBuild_Red
docker-compose up -d
Arrêter le Panel
docker-compose down
Redémarrer le Panel
docker-compose restart app
Voir les Logs
# 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
# 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
# Test HTTP
curl -I http://localhost:4001
# Tester la page de login
curl http://localhost:4001 | grep -i "login"
Vérifier RCON
# 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
# 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
# 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
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 :
# 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
# 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
# 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 :
#!/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 :
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
# 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"
# 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
# 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"
# 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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 :
#!/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 :
crontab -e
# Ajouter: */5 * * * * /opt/monitor-nationsglory.sh
📚 Ressources
- README.md - Vue d'ensemble
- CONFIGURATION.md - Configuration détaillée
- DEPLOYMENT.md - Guide de déploiement
- 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.