#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CONFIG_FILE="${SCRIPT_DIR}/install_overseas_quick.conf" CONFIG_EXAMPLE="${SCRIPT_DIR}/install_overseas_quick.conf.example" if [[ ! -f "${CONFIG_FILE}" ]]; then echo "未找到配置文件:${CONFIG_FILE}" echo "请先执行:cp ${CONFIG_EXAMPLE} ${CONFIG_FILE}" exit 1 fi # shellcheck disable=SC1090 source "${CONFIG_FILE}" : "${GIT_REPO_URL:=YOUR_GIT_REPO_URL}" : "${GIT_BRANCH:=main}" : "${API_DOMAIN:=api.domain.com}" : "${ADMIN_DOMAIN:=admin.domain}" : "${DB_NAME:=domain}" : "${DB_USER:=domainuser}" : "${DB_PASSWORD:=CHANGE_ME_DB_PASSWORD}" : "${OVERSEAS_NODE_CODE:=overseas-control-01}" : "${NODE_VERSION:=20}" WORKSPACE_ROOT="/www/wwwroot" REPO_DIR="${WORKSPACE_ROOT}/getDomain" BASE_DIR="/opt/domaincheck" DOMAINCHECK_DIR="${BASE_DIR}/domainCheck" DOMAIN_API_DIR="${BASE_DIR}/domain-api" DOMAIN_WEB_DIR="${BASE_DIR}/domain-web" if [[ "${GIT_REPO_URL}" == "YOUR_GIT_REPO_URL" || "${DB_PASSWORD}" == "CHANGE_ME_DB_PASSWORD" ]]; then echo "请先修改配置文件中的必填项:GIT_REPO_URL / DB_PASSWORD" exit 1 fi mkdir -p "${WORKSPACE_ROOT}" cd "${WORKSPACE_ROOT}" if [[ ! -d "${REPO_DIR}/.git" ]]; then git clone "${GIT_REPO_URL}" getDomain fi cd "${REPO_DIR}" git fetch --all git checkout "${GIT_BRANCH}" git pull --ff-only origin "${GIT_BRANCH}" mkdir -p "${BASE_DIR}" ln -sfn "${REPO_DIR}/domain-api" "${DOMAIN_API_DIR}" ln -sfn "${REPO_DIR}/domain-web" "${DOMAIN_WEB_DIR}" ln -sfn "${REPO_DIR}/domainCheck" "${DOMAINCHECK_DIR}" cd "${DOMAINCHECK_DIR}" python3.11 -m venv .venv || true source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt "${DOMAINCHECK_DIR}/.venv/bin/pip" install fastapi uvicorn pydantic-settings psycopg2-binary redis openpyxl python-multipart cat >"${DOMAINCHECK_DIR}/.env" <"${DOMAIN_WEB_DIR}/.env.production" <