05e173b293
Replace the WebView shell with SwiftUI screens, add account-scoped Wiki and TTS APIs with adaptive review and photo scan support, and keep web/iOS pages usable while data loads asynchronously. Co-authored-by: Cursor <cursoragent@cursor.com>
52 lines
1.8 KiB
Bash
Executable File
52 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 从本机发布到 105 服务器 /root/wordloop
|
||
# 用法: ./deploy/publish.sh
|
||
# ./deploy/publish.sh root@120.26.184.105
|
||
set -euo pipefail
|
||
|
||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
SSH_TARGET="${1:-${SSH_TARGET:-root@120.26.184.105}}"
|
||
|
||
# 可选:deploy/secrets.env 覆盖数据库等变量
|
||
if [ -f "$ROOT/deploy/secrets.env" ]; then
|
||
# shellcheck source=/dev/null
|
||
source "$ROOT/deploy/secrets.env"
|
||
fi
|
||
|
||
MYSQL_HOST="${MYSQL_HOST:-rm-uf6h1j53vtuxi78i90o.mysql.rds.aliyuncs.com}"
|
||
MYSQL_PORT="${MYSQL_PORT:-3306}"
|
||
MYSQL_USER="${MYSQL_USER:-boot}"
|
||
# %40 表示 @
|
||
MYSQL_PASSWORD="${MYSQL_PASSWORD:-@Abc888888}"
|
||
MYSQL_DATABASE="${MYSQL_DATABASE:-wordloop}"
|
||
|
||
echo ">>> 同步代码到 ${SSH_TARGET}:/root/wordloop/"
|
||
ssh -o ConnectTimeout=15 "$SSH_TARGET" "mkdir -p /root/wordloop"
|
||
|
||
rsync -avz --delete \
|
||
--exclude 'backend/venv' \
|
||
--exclude 'backend/__pycache__' \
|
||
--exclude 'backend/.env' \
|
||
--exclude 'backend/wordloop.db' \
|
||
--exclude 'backend/data/cache' \
|
||
--exclude 'frontend/node_modules' \
|
||
--exclude '.git' \
|
||
"$ROOT/" "${SSH_TARGET}:/root/wordloop/"
|
||
|
||
echo ">>> 远程安装与启动"
|
||
ssh "$SSH_TARGET" \
|
||
"MYSQL_HOST='${MYSQL_HOST}' \
|
||
MYSQL_PORT='${MYSQL_PORT}' \
|
||
MYSQL_USER='${MYSQL_USER}' \
|
||
MYSQL_PASSWORD='${MYSQL_PASSWORD}' \
|
||
MYSQL_DATABASE='${MYSQL_DATABASE}' \
|
||
DEEPSEEK_API_KEY='${DEEPSEEK_API_KEY:-}' \
|
||
DEEPSEEK_BASE_URL='${DEEPSEEK_BASE_URL:-https://api.deepseek.com}' \
|
||
DEEPSEEK_MODEL='${DEEPSEEK_MODEL:-deepseek-chat}' \
|
||
AI_WIKI_DAILY_LLM_LIMIT='${AI_WIKI_DAILY_LLM_LIMIT:-20}' \
|
||
TKMIND_TTS_BASE_URL='${TKMIND_TTS_BASE_URL:-http://127.0.0.1:19200}' \
|
||
TKMIND_TTS_ENABLED='${TKMIND_TTS_ENABLED:-true}' \
|
||
bash /root/wordloop/deploy/install-production.sh"
|
||
|
||
echo ">>> 发布完成: http://120.26.184.105/ (Cloudflare 请将 w 解析到该 IP)"
|