2024-10-26 00:58:19 +02:00
|
|
|
# Vérifier si le docker compose de nginx reverse proxy est déjà installé mais avant vérifier si docker est installé
|
|
|
|
|
if command -v docker &> /dev/null; then
|
|
|
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
|
|
|
# Si le docker compose de nginx reverse proxy n'est pas installé, demander confirmation avant installation
|
|
|
|
|
read -p "Le docker compose de nginx reverse proxy n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r -d "n"
|
|
|
|
|
echo
|
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
|
# Si l'utilisateur accepte, cloner le dépôt Git contenant le docker compose de nginx reverse proxy
|
|
|
|
|
echo "Installation du docker compose de nginx reverse proxy en cours..."
|
|
|
|
|
mkdir -p /home/$USER/docker/nginx-proxy
|
|
|
|
|
cd /home/$USER/docker/nginx-proxy
|
|
|
|
|
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/nginx-proxy-manager/docker-compose.yml
|
|
|
|
|
docker compose up -d
|
|
|
|
|
echo "Le docker compose de nginx reverse proxy a été installé avec succès!"
|
|
|
|
|
else
|
|
|
|
|
echo "Installation du docker compose de nginx reverse proxy annulée."
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
echo "Le docker compose de nginx reverse proxy est déjà installé sur votre système."
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Vérifier si grafana est déjà installé
|
|
|
|
|
if command -v docker &> /dev/null; then
|
|
|
|
|
if ! docker ps -a --format '{{.Names}}' | grep -q grafana; then
|
|
|
|
|
# Si grafana n'est pas installé, demander confirmation avant installation
|
|
|
|
|
read -p "Grafana n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r -d "n"
|
|
|
|
|
echo
|
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
|
# Si l'utilisateur accepte, installer grafana
|
|
|
|
|
echo "Installation de grafana en cours..."
|
|
|
|
|
mkdir -p /home/$USER/docker/grafana
|
|
|
|
|
cd /home/$USER/docker/grafana
|
|
|
|
|
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/grafana/docker-compose.yml
|
|
|
|
|
docker compose up -d
|
|
|
|
|
echo "Grafana a été installé avec succès!"
|
|
|
|
|
# Vérifier si l'utilisateur veut installer prometheus
|
|
|
|
|
read -p "Voulez-vous installer Prometheus? (o/n) " -n 1 -r -d "n"
|
|
|
|
|
echo
|
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
|
# Si l'utilisateur accepte, installer prometheus
|
|
|
|
|
echo "Installation de Prometheus en cours..."
|
|
|
|
|
mkdir -p /home/$USER/docker/prometheus
|
|
|
|
|
cd /home/$USER/docker/prometheus
|
|
|
|
|
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/prometheus/docker-compose.yml
|
|
|
|
|
mkdir -p /home/$USER/docker/prometheus/prometheus
|
|
|
|
|
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/prometheus/prometheus/prometheus.yml
|
|
|
|
|
# Vérifier si l'utilisateur veut installer cadvisor
|
|
|
|
|
read -p "Voulez-vous installer cAdvisor? (o/n) " -n 1 -r -d "n"
|
|
|
|
|
echo
|
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
|
# Si l'utilisateur accepte, installer cadvisor
|
|
|
|
|
echo "Installation de cAdvisor en cours..."
|
|
|
|
|
mkdir -p /home/$USER/docker/cadvisor
|
|
|
|
|
cd /home/$USER/docker/cadvisor
|
|
|
|
|
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/cadvisor/docker-compose.yml
|
|
|
|
|
docker compose up -d
|
|
|
|
|
echo "cAdvisor a été installé avec succès!"
|
|
|
|
|
echo "Ajout de cAdvisor dans le fichier de configuration de Prometheus..."
|
|
|
|
|
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/cadvisor/config-prometheus.yml
|
2024-10-26 01:59:55 +02:00
|
|
|
cat config-prometheus.yml >> /home/$USER/docker/prometheus/prometheus/prometheus.yml
|
2024-10-26 00:58:19 +02:00
|
|
|
echo "cAdvisor a été ajouté avec succès dans le fichier de configuration de Prometheus!"
|
|
|
|
|
echo "cAdvisor a été installé avec succès!"
|
|
|
|
|
else
|
|
|
|
|
echo "Installation de cAdvisor annulée."
|
|
|
|
|
fi
|
|
|
|
|
cd /home/$USER/docker/prometheus
|
|
|
|
|
docker compose up -d
|
|
|
|
|
echo "Prometheus a été installé avec succès!"
|
|
|
|
|
else
|
|
|
|
|
echo "Installation de Prometheus annulée."
|
|
|
|
|
fi
|
|
|
|
|
cd /home/$USER/docker/grafana
|
|
|
|
|
docker compose up -d
|
|
|
|
|
echo "Grafana a été installé avec succès!"
|
|
|
|
|
else
|
|
|
|
|
echo "Installation de grafana annulée."
|
|
|
|
|
fi
|
2024-10-26 01:46:50 +02:00
|
|
|
else
|
|
|
|
|
echo "Grafana est déjà installé sur votre système."
|
2024-10-26 00:58:19 +02:00
|
|
|
fi
|
|
|
|
|
fi
|
2024-10-26 01:14:04 +02:00
|
|
|
|
|
|
|
|
# Vérifier si npm est déjà installé
|
|
|
|
|
if ! command -v npm &> /dev/null; then
|
|
|
|
|
# Si npm n'est pas installé, demander confirmation avant installation
|
|
|
|
|
read -p "npm n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r
|
|
|
|
|
echo
|
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
|
# Si l'utilisateur accepte, installer npm
|
|
|
|
|
echo "Installation de npm en cours..."
|
|
|
|
|
sudo apt update
|
|
|
|
|
sudo apt install -y npm
|
|
|
|
|
echo "npm a été installé avec succès!"
|
|
|
|
|
# Vérifier si nvm est déjà installé
|
|
|
|
|
if ! command -v nvm &> /dev/null; then
|
|
|
|
|
# Si nvm n'est pas installé, demander confirmation avant installation
|
|
|
|
|
read -p "nvm n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r
|
|
|
|
|
echo
|
|
|
|
|
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
|
|
|
|
# Si l'utilisateur accepte, installer nvm
|
|
|
|
|
echo "Installation de nvm en cours..."
|
|
|
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
|
|
|
|
|
echo "nvm a été installé avec succès!"
|
|
|
|
|
echo "La dernière version de Node.js a été installée avec succès!"
|
|
|
|
|
else
|
|
|
|
|
echo "Installation de nvm annulée."
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
echo "nvm est déjà installé sur votre système."
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
echo "Installation de npm annulée."
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
echo "npm est déjà installé sur votre système."
|
|
|
|
|
fi
|