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:
113
README.md
113
README.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user