-
Notifications
You must be signed in to change notification settings - Fork 1
/
install.sh
executable file
·142 lines (135 loc) · 4.75 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/bash
#
# 安裝 xoops-easy-dock
#
# 參考資料:
# menu example => https://askubuntu.com/a/1716
# PS3 => http://benjr.tw/96409
show_menu() {
printf "\n\n"
echo "*********************************"
echo " xoops-easy-dock 安裝"
echo ""
echo " 若要再次召喚此選單,請執行:"
echo " cd ${PWD}"
echo " ./install.sh"
echo "*********************************"
printf "\n"
PS3='請輸入要執行的項目編號:[1-10] '
options=("安裝Docker" "準備作業" "設定.env" "設定caddy" "啟動caddy與MySQL" "啟動portainer" "離開" "更新/重啟portainer" "CentOS防火牆開放http與https" "設定備份作業")
select opt in "${options[@]}"
do
case $opt in
"安裝Docker")
echo "**** 安裝 Docker 與 docker-compose ****"
# 是否使用 docker 官方 apt 來源
USE_DOCKER_APT=true
# 判斷是否為 ubuntu 20.04 以後(含)
if [ -r /etc/os-release ]; then
OS_DIST="$(. /etc/os-release && echo "$ID")"
if [[ "$OS_DIST" == "ubuntu" ]]; then
MAIN_VERSION=$(. /etc/os-release && echo "$VERSION_ID" | cut -d'.' -f 1)
if [[ $MAIN_VERSION -ge 20 ]]; then
# ubuntu 20.04 以後(含),直接由預設 apt 來源安裝
USE_DOCKER_APT=false
./install-docker-from-ubuntu-default-apt.sh
fi
fi
fi
# 使用 docker 官方 apt 來源
if [[ $USE_DOCKER_APT == true ]]; then
./install-docker.sh
fi
echo ""
echo "////////////////////"
echo " 步驟 1 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"準備作業")
echo "**** 進行準備作業 ****"
./prepare.sh
echo ""
echo "////////////////////"
echo " 步驟 2 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"設定.env")
echo "**** 進行 .env 設定 ****"
./setup-env.sh
echo ""
echo "////////////////////"
echo " 步驟 3 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"設定caddy")
echo "**** 進行 caddy server 設定 ****"
./setup-caddy.sh
echo ""
echo "////////////////////"
echo " 步驟 4 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"啟動caddy與MySQL")
echo "**** 啟動 caddy、 php-fpm、 MySQL service ****"
./start_all_containers.sh
echo ""
echo "////////////////////"
echo " 步驟 5 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"啟動portainer")
echo "**** 啟動 portainer container ****"
./run_portainer.sh
echo ""
echo "////////////////////"
echo " 步驟 6 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"離開")
printf "\n\n"
exit
;;
"更新/重啟portainer")
echo "**** 更新/重啟 portainer container ****"
./rerun_portainer.sh
echo ""
echo "////////////////////"
echo " 步驟 8 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"CentOS防火牆開放http與https")
echo "**** CentOS 防火牆開放 http 與 https ****"
./centos_firewalld_http_https.sh
echo ""
echo "////////////////////"
echo " 步驟 9 已完成"
echo "////////////////////"
echo ""
show_menu
;;
"設定備份作業")
echo "**** 設定備份作業 ****"
./setup_backup_xoops.sh
show_menu
;;
*)
;;
esac
done
}
clear
show_menu