feat: Synchronisation Git automatique des sous-repositories

Amélioration du script check-config.sh pour gérer automatiquement
le clonage et la mise à jour des repositories NationsGlory_ServeurBuild_Red
et WebNationsGlory_ServeurBuild_Red.

Nouveautés:
- Clone automatique si repositories absents
- Pull automatique si mises à jour disponibles
- Détection de conflits et modifications locales
- Configuration via repos.conf (template fourni)
- Documentation dans GIT_SYNC.md

Permet un déploiement simplifié sur nouvelle machine et
des mises à jour automatisées en production.
This commit is contained in:
2026-02-05 18:47:13 +01:00
parent c58d85d751
commit 773bc7de1f
5 changed files with 503 additions and 10 deletions

113
README.md
View File

@@ -6,22 +6,58 @@ Ce dossier contient le serveur Minecraft NationsGlory modé et son interface web
```
Serveur NationsGlory/
├── NationsGlory_ServeurBuild_Red/ # Serveur Minecraft 1.6.4
├── WebNationsGlory_ServeurBuild_Red/ # Application web admin
├── NationsGlory_ServeurBuild_Red/ # Serveur Minecraft 1.6.4 (repo Git)
├── WebNationsGlory_ServeurBuild_Red/ # Application web admin (repo Git)
├── deploy.sh # Script de déploiement
── stop.sh # Script d'arrêt
── stop.sh # Script d'arrêt
├── check-config.sh # Vérification et sync Git
└── repos.conf # Configuration des repos Git
```
## 🚀 Déploiement Rapide
### Prérequis
- Git installé
- Docker et Docker Compose installés
- Ports disponibles: 25565 (Minecraft), 25575 (RCON), 4001 (Web Admin)
### Installation en 3 étapes
### Installation en 4 étapes
#### 1. Configuration initiale
#### 0. Configuration Git (première fois uniquement)
```bash
# Copier et configurer les URLs des repositories
cp repos.conf.example repos.conf
nano repos.conf
```
Configurez les URLs de vos repositories Git :
- `MC_SERVER_REPO` : URL du repository du serveur Minecraft
- `WEB_ADMIN_REPO` : URL du repository de l'application web
**Exemples d'URLs :**
```bash
# Git local (SSH)
MC_SERVER_REPO="git@192.168.1.195:/srv/git/NationsGlory_ServeurBuild_Red.git"
# GitHub
MC_SERVER_REPO="git@github.com:username/NationsGlory_ServeurBuild_Red.git"
```
#### 1. Synchronisation et vérification
```bash
./check-config.sh
```
Ce script va automatiquement :
- ✅ Cloner les repositories s'ils n'existent pas
- ✅ Mettre à jour les repositories existants
- ✅ Vérifier Docker, les ports, et la configuration
- ✅ Détecter les problèmes de configuration
#### 2. Configuration initiale
```bash
cd WebNationsGlory_ServeurBuild_Red
@@ -33,7 +69,7 @@ Modifiez au minimum :
- `SESSION_SECRET` : Générez avec `openssl rand -base64 32`
- `RCON_PASSWORD` : Mot de passe pour RCON (doit correspondre au serveur MC)
#### 2. Déploiement
#### 3. Déploiement
```bash
cd .. # Retour au dossier parent
@@ -47,7 +83,7 @@ Le script va automatiquement :
- ✅ Démarrer l'application web admin
- ✅ Afficher les URLs d'accès
#### 3. Accès
#### 4. Accès
**Serveur Minecraft:**
- Adresse: `votre-ip:25565`
@@ -192,15 +228,72 @@ Cette configuration est entièrement portable :
✅ **Configuration par variables d'environnement** : Facile à adapter
✅ **Détection automatique de l'hôte** : Fonctionne sur n'importe quelle machine
✅ **Scripts de déploiement** : Installation simplifiée
✅ **Synchronisation Git automatique** : Clonage et mises à jour gérés par check-config.sh
### Déployer sur une nouvelle machine
1. Copiez tout le dossier `Serveur NationsGlory`
2. Configurez le fichier `.env`
3. Exécutez `./deploy.sh`
1. Clonez le repository parent :
```bash
git clone <url-du-repo-parent> NationsGlory
cd NationsGlory
```
2. Configurez les repositories :
```bash
cp repos.conf.example repos.conf
nano repos.conf # Configurez les URLs Git
```
3. Synchronisez et déployez :
```bash
./check-config.sh # Clone les repos si nécessaire
./deploy.sh
```
C'est tout ! 🎉
## 🔄 Mises à jour
### Mettre à jour les projets
Le script `check-config.sh` gère automatiquement les mises à jour :
```bash
./check-config.sh
```
Le script va :
- ✅ Vérifier si des mises à jour sont disponibles sur les repositories
- ✅ Vous avertir si vous avez des modifications locales non commitées
- ✅ Mettre à jour automatiquement si aucun conflit n'est détecté
### Workflow de mise à jour complet
```bash
# 1. Vérifier et mettre à jour les repositories
./check-config.sh
# 2. Arrêter les services
./stop.sh
# 3. Redémarrer avec les nouvelles versions
./deploy.sh
```
### Forcer une mise à jour manuelle
Si vous avez des modifications locales et voulez les abandonner :
```bash
cd NationsGlory_ServeurBuild_Red
git reset --hard origin/main
git pull
cd ../WebNationsGlory_ServeurBuild_Red
git reset --hard origin/main
git pull
```
## 🐛 Dépannage
### Le serveur Minecraft ne démarre pas