Files
script-vps/install-docker.sh

120 lines
5.9 KiB
Bash

# 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 -O 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.txt
cat config-prometheus.txt >> /home/$USER/docker/prometheus/prometheus/prometheus.yml
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
else
echo "Grafana est déjà installé sur votre système."
fi
fi
# 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
cd /home/$USER