u
This commit is contained in:
@@ -18,9 +18,9 @@ MAINJS="startapx"
|
|||||||
URLBACKUP="https://app1.smatchit.io"
|
URLBACKUP="https://app1.smatchit.io"
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
mkdir -p /var/log
|
sudo mkdir -p /var/log
|
||||||
exec > >(tee -i /var/log/apxtri_install.log)
|
sudo exec > >(tee -i /var/log/apxtri_install.log)
|
||||||
exec 2>&1
|
sudo exec 2>&1
|
||||||
|
|
||||||
# ==== ERROR HANDLER ====
|
# ==== ERROR HANDLER ====
|
||||||
err_handler() {
|
err_handler() {
|
||||||
@@ -49,19 +49,19 @@ cleaning() {
|
|||||||
|
|
||||||
# Retire user du groupe
|
# Retire user du groupe
|
||||||
if id -nG "$CURRENT_USER" | grep -qw "$APXTRI_USER"; then
|
if id -nG "$CURRENT_USER" | grep -qw "$APXTRI_USER"; then
|
||||||
gpasswd -d "$CURRENT_USER" "$APXTRI_USER" || true
|
sudo gpasswd -d "$CURRENT_USER" "$APXTRI_USER" || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Supprime utilisateur
|
# Supprime utilisateur
|
||||||
if id "$APXTRI_USER" &>/dev/null; then
|
if id "$APXTRI_USER" &>/dev/null; then
|
||||||
userdel -r "$APXTRI_USER" 2>/dev/null || true
|
sudo userdel -r "$APXTRI_USER" 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Supprime répertoires
|
# Supprime répertoires
|
||||||
rm -rf "$DATAPATH" "$NODEPATH" "$LOGPATH" /etc/apxtowns
|
sudo rm -rf "$DATAPATH" "$NODEPATH" "$LOGPATH" /etc/apxtowns
|
||||||
|
|
||||||
# Supprime ligne hosts
|
# Supprime ligne hosts
|
||||||
sed -i "/admin.apxtri.$TOWN.$NATION/d" /etc/hosts || true
|
sudo sed -i "/admin.apxtri.$TOWN.$NATION/d" /etc/hosts || true
|
||||||
|
|
||||||
echo "[CLEAN] Nettoyage terminé."
|
echo "[CLEAN] Nettoyage terminé."
|
||||||
}
|
}
|
||||||
@@ -77,29 +77,29 @@ while true; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# ==== INSTALL TOOLS ====
|
# ==== INSTALL TOOLS ====
|
||||||
apt update --fix-missing
|
sudo apt update --fix-missing
|
||||||
apt install -y curl git gnupg jq build-essential locales vim libcap2-bin p7zip-full p7zip-rar unzip
|
sudo apt install -y curl git gnupg jq build-essential locales vim libcap2-bin p7zip-full p7zip-rar unzip
|
||||||
|
|
||||||
locale-gen en_US.UTF-8 fr_FR.UTF-8
|
sudo locale-gen en_US.UTF-8 fr_FR.UTF-8
|
||||||
update-locale LANG=en_US.UTF-8
|
sudo update-locale LANG=en_US.UTF-8
|
||||||
|
|
||||||
# ==== CHECK CADDY ====
|
# ==== CHECK CADDY ====
|
||||||
if ! command -v caddy &>/dev/null; then
|
if ! command -v caddy &>/dev/null; then
|
||||||
echo "Installation de Caddy..."
|
echo "Installation de Caddy..."
|
||||||
mkdir -p /usr/share/keyrings
|
sudo mkdir -p /usr/share/keyrings
|
||||||
curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/gpg.key \
|
sudo curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/gpg.key \
|
||||||
| gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
| gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||||
echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] \
|
sudo echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] \
|
||||||
https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" \
|
https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" \
|
||||||
| tee /etc/apt/sources.list.d/caddy-stable.list
|
| sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||||
apt update && apt install -y caddy
|
sudo apt update && sudo apt install -y caddy
|
||||||
else
|
else
|
||||||
echo "Caddy déjà installé."
|
echo "Caddy déjà installé."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ==== HOSTS ====
|
# ==== HOSTS ====
|
||||||
if ! grep -q "admin.apxtri.$TOWN.$NATION" /etc/hosts; then
|
if ! grep -q "admin.apxtri.$TOWN.$NATION" /etc/hosts; then
|
||||||
echo "127.0.0.1 admin.apxtri.$TOWN.$NATION" | tee -a /etc/hosts
|
sudo echo "127.0.0.1 admin.apxtri.$TOWN.$NATION" | sudo tee -a /etc/hosts
|
||||||
else
|
else
|
||||||
echo "admin.apxtri déjà présent dans /etc/hosts"
|
echo "admin.apxtri déjà présent dans /etc/hosts"
|
||||||
fi
|
fi
|
||||||
@@ -107,19 +107,19 @@ fi
|
|||||||
# ==== CREATE USER ====
|
# ==== CREATE USER ====
|
||||||
if ! id "$APXTRI_USER" &>/dev/null; then
|
if ! id "$APXTRI_USER" &>/dev/null; then
|
||||||
echo "Création de l'utilisateur $APXTRI_USER..."
|
echo "Création de l'utilisateur $APXTRI_USER..."
|
||||||
useradd --system --no-create-home --shell /usr/sbin/nologin "$APXTRI_USER"
|
sudo useradd --system --no-create-home --shell /usr/sbin/nologin "$APXTRI_USER"
|
||||||
echo "$APXTRI_USER:malayme42" | chpasswd
|
echo "$APXTRI_USER:malayme42" | sudo chpasswd
|
||||||
else
|
else
|
||||||
echo "Utilisateur $APXTRI_USER déjà existant."
|
echo "Utilisateur $APXTRI_USER déjà existant."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ==== ADD CURRENT USER TO GROUP ====
|
# ==== ADD CURRENT USER TO GROUP ====
|
||||||
CURRENT_USER=${SUDO_USER:-$(whoami)}
|
CURRENT_USER=${SUDO_USER:-$(whoami)}
|
||||||
usermod -aG "$APXTRI_USER" "$CURRENT_USER"
|
sudo usermod -aG "$APXTRI_USER" "$CURRENT_USER"
|
||||||
|
|
||||||
# ==== DIRECTORIES ====
|
# ==== DIRECTORIES ====
|
||||||
mkdir -p "$APP_DIR" "$DATAPATH/data/apxtri" "$LOGPATH" "$DATAPATH/data/apxtri/logs" "$DATAPATH/data/apxtri/tmp"
|
sudo mkdir -p "$APP_DIR" "$DATAPATH/data/apxtri" "$LOGPATH" "$DATAPATH/data/apxtri/logs" "$DATAPATH/data/apxtri/tmp"
|
||||||
chown -R "$APXTRI_USER:$APXTRI_USER" "$DATAPATH" "$NODEPATH" "$LOGPATH"
|
sudo chown -R "$APXTRI_USER:$APXTRI_USER" "$DATAPATH" "$NODEPATH" "$LOGPATH"
|
||||||
|
|
||||||
# ==== CLONE OR UPDATE OBJECTS ====
|
# ==== CLONE OR UPDATE OBJECTS ====
|
||||||
OBJ_DIR="$DATAPATH/data/apxtri/objects"
|
OBJ_DIR="$DATAPATH/data/apxtri/objects"
|
||||||
@@ -128,24 +128,24 @@ if [ -d "$OBJ_DIR/.git" ]; then
|
|||||||
git -C "$OBJ_DIR" pull
|
git -C "$OBJ_DIR" pull
|
||||||
else
|
else
|
||||||
echo "Clonage du dépôt objects..."
|
echo "Clonage du dépôt objects..."
|
||||||
rm -rf "$OBJ_DIR"
|
sudo rm -rf "$OBJ_DIR"
|
||||||
git clone "$REPO_OBJECTS" "$OBJ_DIR"
|
git clone "$REPO_OBJECTS" "$OBJ_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git config --global --add safe.directory "$OBJ_DIR"
|
sudo git config --global --add safe.directory "$OBJ_DIR"
|
||||||
|
|
||||||
# ==== DOWNLOAD AND UNZIP EXTRA OBJECTS ====
|
# ==== DOWNLOAD AND UNZIP EXTRA OBJECTS ====
|
||||||
ZIP_URL="https://gitea.ndda.fr/apxtri/apxtri/raw/branch/main/setup/apxtri.objects.setup.zip"
|
ZIP_URL="https://gitea.ndda.fr/apxtri/apxtri/raw/branch/main/setup/apxtri.objects.setup.zip"
|
||||||
ZIP_FILE="$OBJ_DIR/apxtri.objects.setup.zip"
|
ZIP_FILE="$OBJ_DIR/apxtri.objects.setup.zip"
|
||||||
|
|
||||||
echo "Téléchargement des objets supplémentaires depuis $ZIP_URL ..."
|
echo "Téléchargement des objets supplémentaires depuis $ZIP_URL ..."
|
||||||
mkdir -p "$OBJ_DIR"
|
sudo mkdir -p "$OBJ_DIR"
|
||||||
wget -O "$ZIP_FILE" "$ZIP_URL"
|
wget -O "$ZIP_FILE" "$ZIP_URL"
|
||||||
|
|
||||||
echo "Décompression dans $OBJ_DIR ..."
|
echo "Décompression dans $OBJ_DIR ..."
|
||||||
unzip -q -o "$ZIP_FILE" -d "$OBJ_DIR"
|
unzip -q -o "$ZIP_FILE" -d "$OBJ_DIR"
|
||||||
|
|
||||||
rm -f "$ZIP_FILE"
|
sudo rm -f "$ZIP_FILE"
|
||||||
echo "Objets supplémentaires ajoutés dans $OBJ_DIR"
|
echo "Objets supplémentaires ajoutés dans $OBJ_DIR"
|
||||||
|
|
||||||
# ==== CLONE OR UPDATE MAIN REPO ====
|
# ==== CLONE OR UPDATE MAIN REPO ====
|
||||||
@@ -155,14 +155,14 @@ if [ -d "$MAIN_DIR/.git" ]; then
|
|||||||
git -C "$MAIN_DIR" pull
|
git -C "$MAIN_DIR" pull
|
||||||
else
|
else
|
||||||
echo "Clonage du dépôt apxtri..."
|
echo "Clonage du dépôt apxtri..."
|
||||||
rm -rf "$MAIN_DIR"
|
sudo rm -rf "$MAIN_DIR"
|
||||||
git clone "$REPO_APXTRI" "$MAIN_DIR"
|
git clone "$REPO_APXTRI" "$MAIN_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git config --global --add safe.directory "$MAIN_DIR"
|
sudo git config --global --add safe.directory "$MAIN_DIR"
|
||||||
|
|
||||||
echo 'Generating .env file...'
|
echo 'Generating .env file...'
|
||||||
cat > "$APP_DIR/apxtri/.env" <<EOL
|
sudo cat > "$APP_DIR/apxtri/.env" <<EOL
|
||||||
TOWN="$TOWN"
|
TOWN="$TOWN"
|
||||||
NATION="$NATION"
|
NATION="$NATION"
|
||||||
UBUNTU="server"
|
UBUNTU="server"
|
||||||
@@ -178,12 +178,12 @@ BACKENDURL="localhost"
|
|||||||
CADDYAPIURL="http://localhost:2019/"
|
CADDYAPIURL="http://localhost:2019/"
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
chown -R $APXTRI_USER:$APXTRI_USER "$APP_DIR/"
|
sudo chown -R $APXTRI_USER:$APXTRI_USER "$APP_DIR/"
|
||||||
|
|
||||||
export APXTRI_USER DATAPATH NODEPATH LOGPATH TOWN NATION MAIN_DIR MAINJS NODE_VERSION
|
export APXTRI_USER DATAPATH NODEPATH LOGPATH TOWN NATION MAIN_DIR MAINJS NODE_VERSION
|
||||||
npm_config_cache="${DATAPATH:-/tmp}/.npm"
|
npm_config_cache="${DATAPATH:-/tmp}/.npm"
|
||||||
mkdir -p "$npm_config_cache"
|
sudo mkdir -p "$npm_config_cache"
|
||||||
chown -R "$APXTRI_USER:$APXTRI_USER" "$npm_config_cache"
|
sudo chown -R "$APXTRI_USER:$APXTRI_USER" "$npm_config_cache"
|
||||||
export npm_config_cache
|
export npm_config_cache
|
||||||
NVM_DIR="$MAIN_DIR/.nvm"
|
NVM_DIR="$MAIN_DIR/.nvm"
|
||||||
export NVM_DIR
|
export NVM_DIR
|
||||||
|
Reference in New Issue
Block a user