Séparation de l'installation en deux fichiers pour docker
This commit is contained in:
180
install-docker.sh
Normal file
180
install-docker.sh
Normal file
@@ -0,0 +1,180 @@
|
||||
# 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 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!"
|
||||
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 command -v docker &> /dev/null; 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 command -v docker &> /dev/null; 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 ! [ -f "/home/$USER/docker/www/$project/docker compose.yml" ]; 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 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
|
||||
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
|
||||
fi
|
||||
Reference in New Issue
Block a user