# 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) " response if [[ $response =~ ^[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 curl -o docker-compose.yml 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) " response if [[ $response =~ ^[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 curl -o docker-compose.yml 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) " response if [[ $response =~ ^[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 curl -o prometheus/prometheus.yml https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/prometheus/docker-compose.yml mkdir -p /home/$USER/docker/prometheus/prometheus curl -o prometheus/prometheus.yml 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) " response if [[ $response =~ ^[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 curl -o docker-compose.yml 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..." curl -o config-prometheus.txt 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) " response if [[ $response =~ ^[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) " response if [[ $response =~ ^[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