feat(cluster): module Haute Disponibilité (Cluster HA Actif/Passif Keepalived VRRP & Réplication temps réel)
This commit is contained in:
1 parent
bee2055b62
commit
521f21dc9c
10 files changed
+1310
-7
No files matched your search
+16
-4
@@ -64,6 +64,9 @@ apt-get install -y --no-install-recommends \
|
||||
sox \
|
||||
sshpass
|
||||
|
||||
# Composants optionnels Haute Disponibilité (Cluster HA)
|
||||
apt-get install -y --no-install-recommends keepalived 2>/dev/null || true
|
||||
|
||||
# Vérification et installation d'Asterisk
|
||||
echo -e "${C_GREEN} -> Installation du moteur Asterisk PBX...${C_RESET}"
|
||||
if ! apt-cache policy asterisk 2>/dev/null | grep -q "Candidate: [0-9]"; then
|
||||
@@ -126,11 +129,14 @@ fi
|
||||
echo -e "${C_GREEN}[2/8] Préparation et déploiement des fichiers NexusPBX...${C_RESET}"
|
||||
TARGET_DIR="/var/www/nexus-pbx"
|
||||
|
||||
INSTALL_BRANCH="${1:-${INSTALL_BRANCH:-dev}}"
|
||||
|
||||
if [ -d "$TARGET_DIR/.git" ]; then
|
||||
echo " -> Dépôt NexusPBX déjà présent dans $TARGET_DIR, mise à jour..."
|
||||
echo " -> Dépôt NexusPBX déjà présent dans $TARGET_DIR, mise à jour (branche: $INSTALL_BRANCH)..."
|
||||
cd "$TARGET_DIR"
|
||||
git config --global --add safe.directory "$TARGET_DIR" 2>/dev/null || true
|
||||
git pull origin main 2>/dev/null || true
|
||||
git checkout "$INSTALL_BRANCH" 2>/dev/null || true
|
||||
git pull origin "$INSTALL_BRANCH" 2>/dev/null || true
|
||||
elif [ -d "$PWD/public" ] && [ -d "$PWD/src" ]; then
|
||||
echo " -> Exécution depuis le dossier source, synchronisation vers $TARGET_DIR..."
|
||||
if [ "$PWD" != "$TARGET_DIR" ]; then
|
||||
@@ -139,13 +145,17 @@ elif [ -d "$PWD/public" ] && [ -d "$PWD/src" ]; then
|
||||
cd "$TARGET_DIR"
|
||||
fi
|
||||
else
|
||||
echo " -> Clonage du dépôt public officiel depuis https://git.sorcier-research.com..."
|
||||
echo " -> Clonage du dépôt public officiel (branche: $INSTALL_BRANCH)..."
|
||||
rm -rf "$TARGET_DIR"
|
||||
git clone https://git.sorcier-research.com/sorcier/NexusPBX.git "$TARGET_DIR"
|
||||
git clone -b "$INSTALL_BRANCH" https://git.sorcier-research.com/sorcier/NexusPBX.git "$TARGET_DIR"
|
||||
git config --system --add safe.directory "$TARGET_DIR" 2>/dev/null || true
|
||||
cd "$TARGET_DIR"
|
||||
fi
|
||||
|
||||
if [ "$INSTALL_BRANCH" = "dev" ]; then
|
||||
touch "$TARGET_DIR/.dev"
|
||||
fi
|
||||
|
||||
# 4. Configuration des utilisateurs, groupes et arborescence de stockage
|
||||
echo -e "${C_GREEN}[3/8] Configuration des permissions et de l'arborescence...${C_RESET}"
|
||||
usermod -aG asterisk www-data 2>/dev/null || true
|
||||
@@ -161,6 +171,8 @@ mkdir -p /var/lib/asterisk/sounds/custom
|
||||
mkdir -p /var/spool/asterisk/voicemail/default
|
||||
mkdir -p /var/log/asterisk /var/log/asterisk/cdr-csv
|
||||
mkdir -p /var/log/nexus-pbx
|
||||
mkdir -p /etc/keepalived
|
||||
mkdir -p "$TARGET_DIR/scripts/cluster"
|
||||
|
||||
touch /var/log/asterisk/messages /var/log/asterisk/security.log /var/log/asterisk/cdr-csv/Master.csv
|
||||
chown -R asterisk:asterisk /var/log/asterisk 2>/dev/null || true
|
||||
|
||||
Reference in new issue
Block a user