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