Files
xiaoxia-saas/infra/scripts/init-server.sh
T
Xiaoxia AI 94dd60108c refactor: 彻底迁移到阿里云 OSS 并重构基础设施
- 删除 MinIO 依赖,改用阿里云 OSS (oss2)
- 重写存储服务 storage.py(完全兼容原接口)
- 更新配置:config.py 改为 OSS_* 配置项
- 重构 Docker Compose:分离基础设施(infra.yml)和应用(compose.yml)
- 添加健康检查和自动重启配置
- 创建标准化部署脚本(init-server.sh + deploy.sh)
- 统一 Nginx 配置(主域名 api.xiaoxiajianji.com)
- 修复 Web Dockerfile 端口映射(80 not 3000)

服务器清理完成:
- 删除旧云控制台、监控系统、桌面版代码
- 删除 2.6GB 旧安装包
- 清理 Docker 缓存 2.5GB
- 磁盘使用率从 48% 降至 26%
2026-06-20 15:24:24 +08:00

62 lines
1.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
set -e
echo "🚀 初始化小虾 SaaS 服务器..."
# 1. 创建 Docker 网络
echo "📡 创建 Docker 网络..."
docker network create xiaoxia-net 2>/dev/null || echo " 网络已存在,跳过"
# 2. 启动基础设施(Postgres + Redis
echo "🗄️ 启动基础设施(Postgres + Redis..."
cd /var/lib/xiaoxia-saas-staging/repo/infra/docker
docker compose -f infra.yml up -d
# 3. 等待数据库就绪
echo "⏳ 等待数据库启动..."
for i in {1..30}; do
if docker exec xiaoxia-postgres pg_isready -U xiaoxia > /dev/null 2>&1; then
echo "✅ 数据库已就绪"
break
fi
if [ $i -eq 30 ]; then
echo "❌ 数据库启动超时"
exit 1
fi
sleep 2
done
# 4. 初始化数据库扩展
echo "🔧 初始化数据库扩展..."
docker exec xiaoxia-postgres psql -U xiaoxia -d xiaoxia_saas -c "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";" 2>/dev/null || true
# 5. 启动应用(API + Worker + Web
echo "🚀 启动应用服务..."
docker compose up -d
# 6. 健康检查
echo "⏳ 等待应用启动..."
for i in {1..30}; do
if docker exec xiaoxia-api-staging wget -q --spider http://localhost:8000/api/v1/health 2>/dev/null; then
echo "✅ 应用已就绪"
break
fi
if [ $i -eq 30 ]; then
echo "⚠️ 应用健康检查未通过,请手动检查日志"
docker compose logs api
exit 0
fi
sleep 2
done
echo ""
echo "🎉 初始化完成!"
echo ""
echo "📍 服务访问地址:"
echo " Web: https://api.xiaoxiajianji.com"
echo " API: https://api.xiaoxiajianji.com/api/v1/docs"
echo " Git: https://api.xiaoxiajianji.com/git"
echo ""
echo "📊 容器状态:"
docker compose ps