diff --git a/install_jsite.sh b/install_jsite.sh index 830a69c..6becd8d 100755 --- a/install_jsite.sh +++ b/install_jsite.sh @@ -11,21 +11,38 @@ YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color -# 默认参数 +# ======================================== +# 默认参数配置 +# ======================================== + +# 基础配置 SITE_NAME="jingrow" GIT_REPO="http://git.jingrow.com:3000/jsite/jingrow" NODE_VERSION="22" +START_PORT=3001 +PORT_INCREMENT=1 + +# 跳过选项 SKIP_DOCKER=false SKIP_TRAEFIK=false SKIP_DEPENDENCIES=false SKIP_PM2=false FORCE_UPDATE=false -START_PORT=3001 -PUBLIC_IP="" # 新增:公网IP参数 + +# 网络配置 +PUBLIC_IP="" # 公网IP地址 (用于内网IP不可用时) + +# .env文件参数 +SITE_URL="starrbud.com" +REVALIDATE_TOKEN="535bc122f3e364c" +SERVER_URL="https://admin.jingrow.com" +API_KEY="535bc122f3e364c" +API_SECRET="8629a3b12fc1cc2" # 解析命令行参数 while [[ $# -gt 0 ]]; do case $1 in + # 基础配置 --site-name) SITE_NAME="$2" shift 2 @@ -38,6 +55,16 @@ while [[ $# -gt 0 ]]; do NODE_VERSION="$2" shift 2 ;; + --start-port) + START_PORT="$2" + shift 2 + ;; + --port-increment) + PORT_INCREMENT="$2" + shift 2 + ;; + + # 跳过选项 --skip-docker) SKIP_DOCKER=true shift @@ -58,32 +85,68 @@ while [[ $# -gt 0 ]]; do FORCE_UPDATE=true shift ;; - --start-port) - START_PORT="$2" - shift 2 - ;; - --public-ip) # 新增:公网IP参数 + + # 网络配置 + --public-ip) PUBLIC_IP="$2" shift 2 ;; + + # .env文件参数 + --site-url) + SITE_URL="$2" + shift 2 + ;; + --revalidate-token) + REVALIDATE_TOKEN="$2" + shift 2 + ;; + --server-url) + SERVER_URL="$2" + shift 2 + ;; + --api-key) + API_KEY="$2" + shift 2 + ;; + --api-secret) + API_SECRET="$2" + shift 2 + ;; + + # 帮助信息 -h|--help) echo "用法: $0 [选项]" echo "" - echo "选项:" + echo "基础配置:" echo " --site-name NAME 项目名称 (默认: jingrow)" echo " --git-repo URL Git仓库地址" echo " --node-version VER Node.js版本 (默认: 22)" + echo " --start-port PORT 起始端口 (默认: 3001)" + echo " --port-increment INC 端口增量 (默认: 1)" + echo "" + echo "跳过选项:" echo " --skip-docker 跳过Docker安装" echo " --skip-traefik 跳过Traefik安装" echo " --skip-dependencies 跳过依赖安装" echo " --skip-pm2 跳过PM2安装" echo " --force-update 强制更新所有文件" - echo " --start-port PORT 起始端口 (默认: 3001)" + echo "" + echo "网络配置:" echo " --public-ip IP 公网IP地址 (用于内网IP不可用时)" + echo "" + echo ".env文件配置:" + echo " --site-url URL 网站URL (默认: starrbud.com)" + echo " --revalidate-token TK 重新验证令牌" + echo " --server-url URL 服务器URL (默认: https://admin.jingrow.com)" + echo " --api-key KEY API密钥" + echo " --api-secret SECRET API密钥" + echo "" echo " -h, --help 显示此帮助信息" echo "" echo "示例:" echo " $0 --site-name myproject --public-ip 8.217.167.199" + echo " $0 --site-url example.com --api-key mykey123" echo " $0 --force-update --public-ip 203.0.113.1" exit 0 ;; @@ -120,16 +183,6 @@ export DEBCONF_NONINTERACTIVE_SEEN=true export UCF_FORCE_CONFNEW=1 export UCF_FORCE_CONFOLD=1 -# 端口管理参数 -PORT_INCREMENT=1 - -# .env文件参数 -SITE_URL="starrbud.com" -REVALIDATE_TOKEN="535bc122f3e364c" -SERVER_URL="https://admin.jingrow.com" -API_KEY="535bc122f3e364c" -API_SECRET="8629a3b12fc1cc2" - # 日志函数 log_info() { echo -e "${BLUE}[INFO]${NC} $1" @@ -522,12 +575,16 @@ create_env_file() { # 创建.env文件 cat > "/home/jingrow/jsite/$SITE_NAME/.env" << EOF +# 网站配置 PUBLIC_SITE_URL=$public_site_url +# 重新验证令牌 REVALIDATE_TOKEN=$REVALIDATE_TOKEN +# 项目配置 JINGROW_SITE_NAME=$SITE_NAME +# 服务器配置 JINGROW_SERVER_URL=$SERVER_URL JINGROW_API_KEY=$API_KEY JINGROW_API_SECRET=$API_SECRET