Skip to content

Commit d64aaf9

Browse files
authored
Merge pull request #1 from OverStyleFR/PterodactylThemeInstaller
[SCRIPT ADD] Pterodactyl theme installer
2 parents 592f400 + 27896b4 commit d64aaf9

File tree

5 files changed

+575
-0
lines changed

5 files changed

+575
-0
lines changed

.assets/initialisation.sh

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
#!/bin/bash
2+
3+
# Définir les couleurs
4+
GREEN=$(tput setaf 2)
5+
RED=$(tput setaf 1)
6+
BLUE=$(tput setaf 4)
7+
VIOLET=$(tput setaf 5)
8+
BOLD=$(tput bold)
9+
RESET=$(tput sgr0)
10+
########################################## INITIALISATION ROOT ##########################################
11+
12+
# Vérifier si l'utilisateur est root
13+
if [[ $EUID -ne 0 ]]; then
14+
echo "${RED}${BOLD}Ce script doit être exécuté en tant que root${RESET}"
15+
# Demander le mot de passe
16+
sudo "$0" "$@"
17+
exit 1
18+
fi
19+
20+
# Le reste du script ici
21+
22+
########################################### INITIALISATION / PREPARATION ################################
23+
24+
################ PACKAGES #################
25+
26+
### UNZIP ###
27+
28+
# Vérifier si le package unzip est installé
29+
if ! dpkg -s unzip >/dev/null 2>&1; then
30+
# Afficher le texte en rouge et en gras
31+
echo "${BOLD}Le package unzip n'est pas installé. Installation en cours...${RESET}"
32+
33+
# Vérifier le gestionnaire de paquets
34+
if command -v apt-get &> /dev/null; then
35+
apt-get install -y unzip
36+
elif command -v yum &> /dev/null; then
37+
yum install -y unzip
38+
elif command -v brew &> /dev/null; then
39+
brew install unzip
40+
else
41+
echo "Impossible de déterminer le gestionnaire de paquets. Veuillez installer PHP manuellement."
42+
echo ""
43+
exit 1
44+
fi
45+
else
46+
# Afficher le texte en vert et en gras
47+
echo "${GREEN}${BOLD}Le package unzip est déjà installé.${RESET}"
48+
fi
49+
50+
### YARN ### (Ré-installation de celui ci)
51+
52+
# Vérifier si Yarn est installé
53+
if command -v yarn &> /dev/null; then
54+
echo "${BOLD}Yarn est déjà installé sur votre machine.${RESET}"
55+
else
56+
# Installer Yarn s'il n'est pas déjà installé
57+
echo "${BOLD}Yarn n'est pas installé. Installation en cours...${RESET}"
58+
echo ""
59+
60+
# Installer Yarn via le script (get.tomv.ovh)
61+
bash <(curl -s https://get.tomv.ovh/yarninstall.sh)
62+
63+
# Vérifier à nouveau si l'installation a réussi
64+
if command -v yarn &> /dev/null; then
65+
echo "${GREEN}${BOLD}Yarn a été installé avec succès.${RESET}"
66+
echo ""
67+
else
68+
echo "${RED}${BOLD}Une erreur s'est produite lors de l'installation de Yarn. Veuillez vérifier votre configuration.${RESET}"
69+
echo ""
70+
exit 1
71+
fi
72+
fi
73+
74+
### PHP ###
75+
76+
# Vérifier si PHP est installé
77+
if command -v php &> /dev/null; then
78+
echo "${BOLD}PHP est déjà installé sur votre machine.${RESET}"
79+
else
80+
# Installer PHP s'il n'est pas déjà installé
81+
echo "${BOLD}PHP n'est pas installé. Installation en cours...${RESET}"
82+
echo ""
83+
84+
# Vérifier le gestionnaire de paquets
85+
if command -v apt-get &> /dev/null; then
86+
apt-get install -y php
87+
elif command -v yum &> /dev/null; then
88+
yum install -y php
89+
elif command -v brew &> /dev/null; then
90+
brew install php
91+
else
92+
echo "${RED}${BOLD}Impossible de déterminer le gestionnaire de paquets. Veuillez installer PHP manuellement.${RESET}"
93+
echo ""
94+
exit 1
95+
fi
96+
97+
# Vérifier à nouveau si l'installation a réussi
98+
if command -v php &> /dev/null; then
99+
echo "${GREEN}${BOLD}PHP a été installé avec succès.${RESET}"
100+
else
101+
echo "${RED}${BOLD}Une erreur s'est produite lors de l'installation de PHP. Veuillez vérifier votre configuration.${RESET}"
102+
echo ""
103+
exit 1
104+
fi
105+
fi
106+
107+
### Node JS & npm ###
108+
109+
# Vérifier si Node.js est installé
110+
if command -v node &> /dev/null; then
111+
echo "${BOLD}Node.js est déjà installé.${RESET}"
112+
else
113+
# Installer Node.js
114+
curl -SLO https://deb.nodesource.com/nsolid_setup_deb.sh
115+
chmod 500 nsolid_setup_deb.sh
116+
./nsolid_setup_deb.sh 16
117+
apt-get install nodejs -y
118+
echo "${GREEN}${BOLD}Node.js a été installé avec succès.${RESET}"
119+
rm ./nsolid_setup_deb.sh
120+
fi
121+
122+
# Vérifier si npm est installé
123+
if command -v npm &> /dev/null; then
124+
echo "${BOLD}npm est déjà installé.${RESET}"
125+
else
126+
# Installer npm
127+
echo "${BOLD}npm n'est pas installé. Installation en cours...${RESET}"
128+
echo ""
129+
apt-get install -y npm
130+
echo "${GREEN}${BOLD}npm a été installé avec succès.${RESET}"
131+
fi
132+
133+
### AUTRES ###
134+
135+
136+
################ VERSIONS #################
137+
138+
### Node JS ### (16.20.2)
139+
140+
# Fonction pour comparer les versions
141+
compare_versions() {
142+
local version1=$1
143+
local version2=$2
144+
if [[ "$(printf '%s\n' "$version1" "$version2" | sort -V | head -n 1)" == "$version1" ]]; then
145+
return 0 # version1 est supérieure ou égale à version2
146+
else
147+
return 1 # version1 est inférieure à version2
148+
fi
149+
}
150+
151+
# Vérifier si Node.js est installé
152+
if command -v node &> /dev/null; then
153+
# Récupérer la version de Node.js
154+
node_version=$(node --version | cut -c 2-) # Supprimer le 'v' du numéro de version
155+
required_version="14.0.0"
156+
157+
# Comparer les versions
158+
if compare_versions "$node_version" "$required_version"; then
159+
echo ""
160+
echo "${GREEN}${BOLD}La version de Node.js ($node_version) est déjà supérieure à 14.${RESET}"
161+
else
162+
echo "${BLUE}${BOLD}La version de Node.js ($node_version) est inférieure à 14. Installation de la version requise...${RESET}"
163+
164+
# Installer Node.js 14
165+
npm install -g n
166+
n 16.20.2
167+
node -v
168+
169+
# Vérifier à nouveau la version installée
170+
installed_version=$(node --version | cut -c 2-)
171+
echo ""
172+
echo "${GREEN}${BOLD}Node.js a été installé avec succès. Nouvelle version : $installed_version${RESET}"
173+
echo ""
174+
fi
175+
else
176+
echo "${BLUE}${BOLD}Node.js n'est pas installé. Installation de la version 14...${RESET}"
177+
178+
# Installer Node.js 14
179+
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
180+
apt install -y nodejs
181+
182+
183+
# Vérifier la version installée
184+
installed_version=$(node --version | cut -c 2-)
185+
echo "${GREEN}${BOLD}Node.js a été installé avec succès. Nouvelle version : $installed_version${RESET}"
186+
fi

.assets/theme_billing.sh

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
#!/bin/bash
2+
3+
# Définir les couleurs
4+
GREEN=$(tput setaf 2)
5+
RED=$(tput setaf 1)
6+
BLUE=$(tput setaf 4)
7+
VIOLET=$(tput setaf 5)
8+
BOLD=$(tput bold)
9+
RESET=$(tput sgr0)
10+
########################################## INITIALISATION ROOT ##########################################
11+
12+
# Vérifier si l'utilisateur est root
13+
if [[ $EUID -ne 0 ]]; then
14+
echo "${RED}${BOLD}Ce script doit être exécuté en tant que root${RESET}"
15+
# Demander le mot de passe
16+
sudo "$0" "$@"
17+
exit 1
18+
fi
19+
20+
# Le reste du script ici
21+
22+
######################################### DOWNLOAD & EXTRACT ############################################
23+
24+
### DOSSIER TEMPORAIRE ###
25+
26+
# Définir le chemin du dossier à vérifier
27+
dossier="/tmp/pterodactylthemeinstaller"
28+
29+
# Vérifier si le dossier existe
30+
if [ -d "$dossier" ]; then
31+
# Vérifier si le dossier est vide
32+
if [ -z "$(ls -A $dossier)" ]; then
33+
echo ""
34+
echo "${BOLD}Le dossier existe mais est vide.${RESET}"
35+
echo ""
36+
else
37+
# Supprimer le contenu du dossier s'il n'est pas vide
38+
rm -r "$dossier"/*
39+
echo ""
40+
echo "${RED}${BOLD}Le contenu du dossier a été supprimé avec succès.${RESET}"
41+
echo ""
42+
fi
43+
else
44+
# Créer le dossier s'il n'existe pas
45+
mkdir -p "$dossier"
46+
echo ""
47+
echo "${GREEN}${BOLD}Le dossier a été créé avec succès.${RESET}"
48+
echo ""
49+
fi
50+
51+
### DOWNLOAD ###
52+
53+
cd /tmp/pterodactylthemeinstaller
54+
echo ""
55+
echo "${BOLD}Téléchargement du thème :${RESET}"
56+
echo ""
57+
wget -O Billing.zip https://curl.libriciel.fr/OeyR94lTmI/Billing.zip
58+
59+
### EXTRACT SELECTED FILE ###
60+
61+
echo ""
62+
echo "${BOLD}Extraction du thème...${RESET}"
63+
64+
unzip Billing.zip > /dev/null 2>&1
65+
echo "${BOLD}Déplacement du thème...${RESET}"
66+
rsync -a --remove-source-files app config database public resources routes tailwind.config.js /var/www/pterodactyl
67+
echo ""
68+
69+
########################################## BUILD ########################################################
70+
71+
cd /var/www/pterodactyl
72+
73+
## Installation cross-env
74+
echo "${BOLD}Installation de 'cross-env' via yarn...${RESET}"
75+
yarn add cross-env > /dev/null 2>&1
76+
77+
## NPX Installation
78+
echo "${BOLD}Mise à jour de NPX...${RESET}"
79+
npx update-browserslist-db@latest > /dev/null 2>&1
80+
81+
### APPLIQUER ###
82+
83+
echo "${BOLD}Application du thème...${RESET}"
84+
php artisan billing:install stable <<< wemxgay
85+
86+
### BUILD ###
87+
88+
echo "${VIOLET}${BOLD}Re-build du thème en cour...${RESET}"
89+
yarn build:production > /dev/null 2>&1
90+
echo "${GREEN}${BOLD}Build Terminé !.${RESET}"
91+
echo ""

.assets/theme_enigma.sh

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
#!/bin/bash
2+
3+
# Définir les couleurs
4+
GREEN=$(tput setaf 2)
5+
RED=$(tput setaf 1)
6+
BLUE=$(tput setaf 4)
7+
VIOLET=$(tput setaf 5)
8+
BOLD=$(tput bold)
9+
RESET=$(tput sgr0)
10+
########################################## INITIALISATION ROOT ##########################################
11+
12+
# Vérifier si l'utilisateur est root
13+
if [[ $EUID -ne 0 ]]; then
14+
echo "${RED}${BOLD}Ce script doit être exécuté en tant que root${RESET}"
15+
# Demander le mot de passe
16+
sudo "$0" "$@"
17+
exit 1
18+
fi
19+
20+
# Le reste du script ici
21+
22+
######################################### DOWNLOAD & EXTRACT ############################################
23+
24+
### DOSSIER TEMPORAIRE ###
25+
26+
# Définir le chemin du dossier à vérifier
27+
dossier="/tmp/pterodactylthemeinstaller"
28+
29+
# Vérifier si le dossier existe
30+
if [ -d "$dossier" ]; then
31+
# Vérifier si le dossier est vide
32+
if [ -z "$(ls -A $dossier)" ]; then
33+
echo ""
34+
echo "${BOLD}Le dossier existe mais est vide.${RESET}"
35+
echo ""
36+
else
37+
# Supprimer le contenu du dossier s'il n'est pas vide
38+
rm -r "$dossier"/*
39+
echo ""
40+
echo "${RED}${BOLD}Le contenu du dossier a été supprimé avec succès.${RESET}"
41+
echo ""
42+
fi
43+
else
44+
# Créer le dossier s'il n'existe pas
45+
mkdir -p "$dossier"
46+
echo ""
47+
echo "${GREEN}${BOLD}Le dossier a été créé avec succès.${RESET}"
48+
echo ""
49+
fi
50+
51+
### DOWNLOAD ###
52+
53+
cd /tmp/pterodactylthemeinstaller
54+
echo ""
55+
echo "${BOLD}Téléchargement du thème :${RESET}"
56+
echo ""
57+
wget -O enigma-v39.zip https://files.catbox.moe/lqxk6x.zip
58+
59+
### EXTRACT SELECTED FILE ###
60+
61+
echo ""
62+
echo "${BOLD}Extraction du thème...${RESET}"
63+
64+
unzip enigma-v39.zip > /dev/null 2>&1
65+
echo "${BOLD}Déplacement du thème...${RESET}"
66+
rsync -a --remove-source-files app net resources public tailwind.config.js /var/www/pterodactyl
67+
echo ""
68+
69+
########################################## BUILD ########################################################
70+
71+
cd /var/www/pterodactyl
72+
73+
## Installation cross-env
74+
echo "${BOLD}Installation de 'cross-env' via yarn...${RESET}"
75+
yarn add cross-env > /dev/null 2>&1
76+
77+
## NPX Installation
78+
echo "${BOLD}Mise à jour de NPX...${RESET}"
79+
npx update-browserslist-db@latest > /dev/null 2>&1
80+
81+
### APPLIQUER ###
82+
83+
echo "${BOLD}Application du thème...${RESET}"
84+
cd /var/www/pterodactyl && php artisan view:clear > /dev/null 2>&1 && php artisan config:clear > /dev/null 2>&1 && chown -R www-data:www-data /var/www/pterodactyl/*
85+
86+
### BUILD ###
87+
88+
echo "${VIOLET}${BOLD}Re-build du thème en cour...${RESET}"
89+
yarn build:production > /dev/null 2>&1
90+
echo "${GREEN}${BOLD}Build Terminé !.${RESET}"
91+
echo ""

0 commit comments

Comments
 (0)