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

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


Support : Pour tout problème non résolu, vérifier les logs avec docker-compose logs -f app et consulter la section Dépannage.