#!/bin/bash # server-core 启动脚本(serverrun/,参考 PineSoundServer 工程化) # 职责:初始化 serverdata 资源目录 → 启动服务 set -euo pipefail # 项目根(本脚本位于 serverrun/ 下) ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT" echo "==========================================" echo "初始化 serverdata 资源目录..." echo "==========================================" SERVERDATA_DIRS=( "serverdata/data" "serverdata/logs" "serverdata/files" "serverdata/keys" "serverdata/prompts" "serverdata/uploads" ) for dir in "${SERVERDATA_DIRS[@]}"; do if [ ! -d "$dir" ]; then echo "✗ 创建 $dir" mkdir -p "$dir" else echo "✓ $dir" fi done echo "==========================================" echo "启动 core(dispatcher 统一入口)" echo "==========================================" # 生产模式:uv 管理,uvicorn dispatcher if command -v uv >/dev/null 2>&1 && [ -f pyproject.toml ]; then exec uv run uvicorn dispatcher:app --host 0.0.0.0 --port "${PORT:-8090}" else exec uvicorn dispatcher:app --host 0.0.0.0 --port "${PORT:-8090}" fi