浏览代码

fix: v1.2.0

jonssonyan 3 年之前
父节点
当前提交
a61d71c472
共有 1 个文件被更改,包括 44 次插入38 次删除
  1. 44 38
      install_script.sh

+ 44 - 38
install_script.sh

@@ -286,7 +286,7 @@ EOF
 
 # 安装Caddy TLS
 install_caddy_tls() {
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-caddy$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-caddy$") ]]; then
     echo_content green "---> 安装Caddy TLS"
 
     wget --no-check-certificate -O ${CADDY_DATA}html.tar.gz ${STATIC_HTML} &&
@@ -389,13 +389,13 @@ EOF
         -v ${CADDY_SRV}:${CADDY_SRV} \
         teddysun/caddy:1.0.5
 
-    if [[ -n $(docker ps -q -f "name=^trojan-panel-caddy$") ]]; then
+    if [[ -n $(docker ps -q -f "name=^trojan-panel-caddy$" -f "status=running") ]]; then
       cat >${DOMAIN_FILE} <<EOF
 ${domain}
 EOF
       echo_content skyBlue "---> Caddy安装完成"
     else
-      echo_content red "---> Caddy安装失败"
+      echo_content red "---> Caddy安装失败或运行异常,请尝试卸载重装"
       exit 0
     fi
   else
@@ -406,7 +406,7 @@ EOF
 
 # 安装MariaDB
 install_mariadb() {
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-mariadb$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-mariadb$") ]]; then
     echo_content green "---> 安装MariaDB"
 
     read -r -p "请输入数据库的用户名(默认:root): " mariadb_user
@@ -441,14 +441,14 @@ install_mariadb() {
           mariadb:10.7.3
     fi
 
-    if [[ -n $(docker ps -q -f "name=^trojan-panel-mariadb$") ]]; then
+    if [[ -n $(docker ps -q -f "name=^trojan-panel-mariadb$" -f "status=running") ]]; then
       echo_content skyBlue "---> MariaDB安装完成"
       echo_content yellow "---> MariaDB root的数据库密码(请妥善保存): ${mariadb_pas}"
       if [[ "${mariadb_user}" != "root" ]]; then
         echo_content yellow "---> MariaDB ${mariadb_user}的数据库密码(请妥善保存): ${mariadb_pas}"
       fi
     else
-      echo_content red "---> MariaDB安装失败"
+      echo_content red "---> MariaDB安装失败或运行异常,请尝试卸载重装"
       exit 0
     fi
   else
@@ -458,7 +458,7 @@ install_mariadb() {
 
 # 安装Redis
 install_redis() {
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-redis$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-redis$") ]]; then
     echo_content green "---> 安装Redis"
 
     while read -r -p "请输入Redis的密码(必填): " redis_pass; do
@@ -475,11 +475,11 @@ install_redis() {
         -v ${REDIS_DATA}:/data redis:6.2.7 \
         redis-server --requirepass "${redis_pass}"
 
-    if [[ -n $(docker ps -q -f "name=^trojan-panel-redis$") ]]; then
+    if [[ -n $(docker ps -q -f "name=^trojan-panel-redis$" -f "status=running") ]]; then
       echo_content skyBlue "---> Redis安装完成"
       echo_content yellow "---> Redis的数据库密码(请妥善保存): ${redis_pass}"
     else
-      echo_content red "---> Redis安装失败"
+      echo_content red "---> Redis安装失败或运行异常,请尝试卸载重装"
       exit 0
     fi
   else
@@ -489,7 +489,7 @@ install_redis() {
 
 # 安装TrojanPanel
 install_trojan_panel() {
-  if [[ -z $(docker ps -q -f "name=^trojan-panel$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel$") ]]; then
     echo_content green "---> 安装Trojan Panel"
 
     read -r -p "请输入数据库的IP地址(默认:本机数据库): " mariadb_ip
@@ -547,17 +547,17 @@ install_trojan_panel() {
         -e "redis_pass=${redis_pass}" \
         jonssonyan/trojan-panel
 
-    if [[ -n $(docker ps -q -f "name=^trojan-panel$") ]]; then
+    if [[ -n $(docker ps -q -f "name=^trojan-panel$" -f "status=running") ]]; then
       echo_content skyBlue "---> Trojan Panel后端安装完成"
     else
-      echo_content red "---> Trojan Panel后端安装失败"
+      echo_content red "---> Trojan Panel后端安装失败或运行异常,请尝试卸载重装"
       exit 0
     fi
   else
     echo_content skyBlue "---> 你已经安装了Trojan Panel"
   fi
 
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-ui$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-ui$") ]]; then
     read -r -p "请输入Trojan Panel前端端口(默认:8888): " trojan_panel_ui_port
     [[ -z "${trojan_panel_ui_port}" ]] && trojan_panel_ui_port="8888"
 
@@ -611,10 +611,10 @@ EOF
         -v ${CADDY_ACME}"${domain}":${CADDY_ACME}"${domain}" \
         jonssonyan/trojan-panel-ui
 
-    if [[ -n $(docker ps -q -f "name=^trojan-panel-ui$") ]]; then
+    if [[ -n $(docker ps -q -f "name=^trojan-panel-ui$" -f "status=running") ]]; then
       echo_content skyBlue "---> Trojan Panel前端安装完成"
     else
-      echo_content red "---> Trojan Panel前端安装失败"
+      echo_content red "---> Trojan Panel前端安装失败或运行异常,请尝试卸载重装"
       exit 0
     fi
   else
@@ -633,7 +633,7 @@ EOF
 
 # 安装Trojan Panel Core
 install_trojan_panel_core() {
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-core$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-core$") ]]; then
     echo_content green "---> 安装Trojan Panel Core"
 
     read -r -p "请输入数据库的IP地址(默认:本机数据库): " mariadb_ip
@@ -687,10 +687,10 @@ install_trojan_panel_core() {
         -e "crt_path=${CADDY_ACME}${domain}/${domain}.crt" \
         -e "key_path=${CADDY_ACME}${domain}/${domain}.key" \
         jonssonyan/trojan-panel-core
-    if [[ -n $(docker ps -q -f "name=^trojan-panel-core$") ]]; then
+    if [[ -n $(docker ps -q -f "name=^trojan-panel-core$" -f "status=running") ]]; then
       echo_content skyBlue "---> Trojan Panel Core安装完成"
     else
-      echo_content red "---> Trojan Panel Core后端安装失败"
+      echo_content red "---> Trojan Panel Core后端安装失败或运行异常,请尝试卸载重装"
       exit 0
     fi
   else
@@ -701,7 +701,7 @@ install_trojan_panel_core() {
 # 更新Trojan Panel
 update_trojan_panel() {
   # 判断Trojan Panel是否安装
-  if [[ -z $(docker ps -q -f "name=^trojan-panel$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel$") ]]; then
     echo_content red "---> 请先安装Trojan Panel"
     exit 0
   fi
@@ -794,7 +794,7 @@ update_trojan_panel() {
 # 更新Trojan Panel Core
 update_trojan_panel_core() {
   # 判断Trojan Panel Core是否安装
-  if [[ -z $(docker ps -q -f "name=^trojan-panel-core$") ]]; then
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-core$") ]]; then
     echo_content red "---> 请先安装Trojan Panel Core"
     exit 0
   fi
@@ -990,31 +990,37 @@ failure_testing() {
 
 redis_flush_all() {
   # 判断Redis是否安装
-  if [[ -n $(docker ps -q -f "name=^trojan-panel-redis$") ]]; then
-    echo_content green "---> 刷新Redis缓存"
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-redis$") ]]; then
+    echo_content red "---> 请先安装Redis"
+    exit 0
+  fi
 
-    read -r -p "请输入Redis的IP地址(默认:本机Redis): " redis_host
-    [[ -z "${redis_host}" ]] && redis_host="127.0.0.1"
-    read -r -p "请输入Redis的端口(默认:本机Redis端口): " redis_port
-    [[ -z "${redis_port}" ]] && redis_port=6379
-    while read -r -p "请输入Redis的密码(必填): " redis_pass; do
-      if [[ -z "${redis_pass}" ]]; then
-        echo_content red "密码不能为空"
-      else
-        break
-      fi
-    done
+  if [[ -z $(docker ps -q -f "name=^trojan-panel-redis$" -f "status=running") ]]; then
+    echo_content red "---> Redis运行异常"
+    exit 0
+  fi
 
-    if [[ "${redis_host}" == "127.0.0.1" ]]; then
-      docker exec trojan-panel-redis redis-cli -a "${redis_pass}" -e "flushall" &>/dev/null
+  echo_content green "---> 刷新Redis缓存"
+
+  read -r -p "请输入Redis的IP地址(默认:本机Redis): " redis_host
+  [[ -z "${redis_host}" ]] && redis_host="127.0.0.1"
+  read -r -p "请输入Redis的端口(默认:本机Redis端口): " redis_port
+  [[ -z "${redis_port}" ]] && redis_port=6379
+  while read -r -p "请输入Redis的密码(必填): " redis_pass; do
+    if [[ -z "${redis_pass}" ]]; then
+      echo_content red "密码不能为空"
     else
-      docker exec trojan-panel-redis redis-cli -h "${redis_host}" -p ${redis_port} -a "${redis_pass}" -e "flushall" &>/dev/null
+      break
     fi
+  done
 
-    echo_content skyBlue "---> Redis缓存刷新完成"
+  if [[ "${redis_host}" == "127.0.0.1" ]]; then
+    docker exec trojan-panel-redis redis-cli -a "${redis_pass}" -e "flushall" &>/dev/null
   else
-    echo_content red "---> 请先安装Redis"
+    docker exec trojan-panel-redis redis-cli -h "${redis_host}" -p ${redis_port} -a "${redis_pass}" -e "flushall" &>/dev/null
   fi
+
+  echo_content skyBlue "---> Redis缓存刷新完成"
 }
 
 # 卸载阿里云内置相关监控