Mise à jour du script
This commit is contained in:
243
install.sh
243
install.sh
@@ -11,9 +11,252 @@ if! [ -x "$(command -v git)" ]; then
|
||||
apt update
|
||||
apt install -y git
|
||||
echo "Git a été installé avec succès!"
|
||||
read -p "Veuillez saisir votre nom d'utilisateur Git: " username
|
||||
read -p "Veuillez saisir votre adresse e-mail Git: " email
|
||||
git config --global user.name "$username"
|
||||
git config --global user.email "$email"
|
||||
echo "Votre nom d'utilisateur et votre adresse e-mail Git ont été configurés avec succès!"
|
||||
else
|
||||
echo "Installation de Git annulée."
|
||||
fi
|
||||
else
|
||||
echo "Git est déjà installé sur votre système."
|
||||
fi
|
||||
|
||||
# Vérifier si btop est déjà installé
|
||||
if! [ -x "$(command -v btop)" ]; then
|
||||
# Si btop n'est pas installé, demander confirmation avant installation
|
||||
read -p "btop n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
||||
# Si l'utilisateur accepte, installer btop
|
||||
echo "Installation de btop en cours..."
|
||||
apt update
|
||||
apt install -y btop
|
||||
echo "btop a été installé avec succès!"
|
||||
else
|
||||
echo "Installation de btop annulée."
|
||||
fi
|
||||
else
|
||||
echo "btop est déjà installé sur votre système."
|
||||
fi
|
||||
|
||||
# Vérifier si tree est déjà installé
|
||||
if! [ -x "$(command -v tree)" ]; then
|
||||
# Si tree n'est pas installé, demander confirmation avant installation
|
||||
read -p "tree n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
||||
# Si l'utilisateur accepte, installer tree
|
||||
echo "Installation de tree en cours..."
|
||||
apt update
|
||||
apt install -y tree
|
||||
echo "tree a été installé avec succès!"
|
||||
else
|
||||
echo "Installation de tree annulée."
|
||||
fi
|
||||
else
|
||||
echo "tree est déjà installé sur votre système."
|
||||
fi
|
||||
|
||||
# Vérifier si Docker est déjà installé
|
||||
if! [ -x "$(command -v docker)" ]; then
|
||||
# Si Docker n'est pas installé, demander confirmation avant installation
|
||||
read -p "Docker n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
||||
# Si l'utilisateur accepte, installer Docker
|
||||
echo "Installation de Docker en cours..."
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sh get-docker.sh
|
||||
echo "Docker a été installé avec succès!"
|
||||
# Donne les droits à l'utilisateur courant d'exécuter Docker sans avoir à utiliser sudo
|
||||
usermod -aG docker $USER
|
||||
mkdir -p /home/$USER/docker
|
||||
echo "Veuillez vous déconnecter et vous reconnecter pour appliquer les changements."
|
||||
else
|
||||
echo "Installation de Docker annulée."
|
||||
fi
|
||||
else
|
||||
echo "Docker est déjà installé sur votre système."
|
||||
fi
|
||||
|
||||
# Vérifier si le docker compose de nginx reverse proxy est déjà installé mais avant vérifier si docker est installé
|
||||
if! [ -x "$(command -v docker)" ]; then
|
||||
if [! -d "nginx-proxy" ]; 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 npm est déjà installé
|
||||
if! [ -x "$(command -v npm)" ]; 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..."
|
||||
apt update
|
||||
apt install -y npm
|
||||
echo "npm a été installé avec succès!"
|
||||
# Vérifier si nvm est déjà installé
|
||||
if! [ -x "$(command -v nvm)" ]; 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!"
|
||||
source ~/.bashrc
|
||||
# Installer la dernière version de Node.js avec nvm
|
||||
nvm install node
|
||||
nvm use node
|
||||
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
|
||||
|
||||
# Vérifier si le dossier www est déjà créé dans le répertoire de docker
|
||||
if! [ -x "$(command -v docker)" ]; then
|
||||
if [! -d "/home/$USER/docker/www" ]; then
|
||||
# Si le dossier www n'est pas créé, demander confirmation avant création
|
||||
read -p "Le dossier www n'est pas créé dans le répertoire de docker. Voulez-vous le créer? (o/n) " -n 1 -r -d "n"
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
||||
# Si l'utilisateur accepte, créer le dossier www
|
||||
echo "Création du dossier www en cours..."
|
||||
mkdir -p /home/$USER/docker/www
|
||||
echo "Le dossier www a été créé avec succès!"
|
||||
else
|
||||
echo "Création du dossier www annulée."
|
||||
fi
|
||||
else
|
||||
echo "Le dossier www est déjà créé dans le répertoire de docker."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Vérifier si le docker est installé et si le répertoire www est créé pour installer une app vuejs
|
||||
if! [ -x "$(command -v docker)" ]; then
|
||||
if [ -d "/home/$USER/docker/www" ]; then
|
||||
# Si le docker est installé et le répertoire www est créé, demander confirmation avant installation de l'app Vue.js
|
||||
read -p "Voulez-vous installer une application Vue.js dans le répertoire www? (o/n) " -n 1 -r -d "n"
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Oo]$ ]]; then
|
||||
# Si l'utilisateur accepte, installer l'app Vue.js en demandant le nom du projet
|
||||
read -p "Veuillez saisir le nom du projet Vue.js: " project
|
||||
echo "Installation de l'application Vue.js en cours..."
|
||||
cd /home/$USER/docker/www
|
||||
npm create vue@latest $project
|
||||
cd $project
|
||||
npm install
|
||||
# Vérifier si le docker compose de l'app Vue.js est déjà installé
|
||||
if [! -d "$project" ]; then
|
||||
# Si le docker compose de l'app Vue.js n'est pas installé, demander confirmation avant installation
|
||||
read -p "Le docker compose de l'application Vue.js n'est pas installé. Voulez-vous l'installer? (o/n) " -n 1 -r -d "n"
|
||||
echo "Installation du docker compose de l'application Vue.js en cours..."
|
||||
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/vuejs/docker-compose.yml
|
||||
# Créer le 'nom_container' dans le fichier docker-compose.yml par le nom du projet
|
||||
sed -i "s/nom_container/$project/g" docker-compose.yml
|
||||
# Demander le port d'écoute de l'app Vue.js
|
||||
read -p "Veuillez saisir le port d'écoute de l'application Vue.js: " port
|
||||
echo "EXTERNAL_PORT=$port" > .env
|
||||
echo "INTERNAL_PORT=8080" >> .env
|
||||
wget https://ganesh.turing.untypequicode.fr/untypequicode/script-vps/raw/branch/main/vuejs/Dockerfile
|
||||
docker-compose up -d
|
||||
echo "Le docker compose de l'application Vue.js a été installé avec succès!"
|
||||
else
|
||||
echo "Le docker compose de l'application Vue.js est déjà installé sur votre système."
|
||||
fi
|
||||
else
|
||||
echo "Installation de l'application Vue.js annulée."
|
||||
fi
|
||||
else
|
||||
echo "Le répertoire www n'est pas créé dans le répertoire de docker."
|
||||
fi
|
||||
|
||||
# Vérifier si grafana est déjà installé
|
||||
if! [ -x "$(command -v docker)" ]; then
|
||||
if [! -d "/home/$USER/docker/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
|
||||
cat config-prometheus.yml >> /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
|
||||
|
||||
Reference in New Issue
Block a user