0c0e2586ed
- serverdata/:统一承载全部资源目录(data/logs/files/keys/prompts/uploads) - data/→serverdata/data、templates/→serverdata/prompts、uploads/→serverdata/uploads - config.py 集中 serverdata 路径;培训子应用 db/uploads 指到 serverdata - serverrun/:start.sh(初始化资源目录+启动 dispatcher)、Dockerfile、docker-compose(core+compute-engine+redis+mysql) - 66 测试全绿
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
|