41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
|
|
#!/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
|