File size: 3,197 Bytes
7e55e53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/bin/bash
# 自动化部署脚本 for Hugging Face Spaces

set -e

echo "=========================================="
echo "Grok2API Hugging Face Spaces 部署助手"
echo "=========================================="
echo ""

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# 检查是否在正确的目录
if [ ! -f "pyproject.toml" ]; then
    echo -e "${RED}错误: 请在 grok2api 项目根目录运行此脚本${NC}"
    exit 1
fi

# 步骤 1: 检查 app 目录
echo -e "${YELLOW}[1/5] 检查源代码...${NC}"
if [ ! -d "app" ]; then
    echo -e "${YELLOW}app/ 目录不存在,正在从 GitHub 克隆...${NC}"
    
    # 克隆原项目
    git clone https://github.com/chenyme/grok2api.git temp_grok2api
    
    # 复制 app 目录
    cp -r temp_grok2api/app ./
    
    # 清理
    rm -rf temp_grok2api
    
    echo -e "${GREEN}✓ 源代码获取完成${NC}"
else
    echo -e "${GREEN}✓ app/ 目录已存在${NC}"
fi

# 步骤 2: 检查必要文件
echo -e "${YELLOW}[2/5] 检查配置文件...${NC}"
required_files=(
    "Dockerfile"
    "pyproject.toml"
    "requirements.txt"
    "config.defaults.toml"
    ".dockerignore"
    "scripts/entrypoint.sh"
    "scripts/init_storage.sh"
)

all_files_exist=true
for file in "${required_files[@]}"; do
    if [ ! -f "$file" ]; then
        echo -e "${RED}✗ 缺少文件: $file${NC}"
        all_files_exist=false
    else
        echo -e "${GREEN}✓ $file${NC}"
    fi
done

if [ "$all_files_exist" = false ]; then
    echo -e "${RED}错误: 缺少必要文件${NC}"
    exit 1
fi

# 步骤 3: 设置脚本权限
echo -e "${YELLOW}[3/5] 设置脚本权限...${NC}"
chmod +x scripts/entrypoint.sh
chmod +x scripts/init_storage.sh
echo -e "${GREEN}✓ 权限设置完成${NC}"

# 步骤 4: Git 配置检查
echo -e "${YELLOW}[4/5] Git 配置检查...${NC}"
if [ ! -d ".git" ]; then
    echo -e "${YELLOW}初始化 git 仓库...${NC}"
    git init
    echo -e "${GREEN}✓ Git 初始化完成${NC}"
else
    echo -e "${GREEN}✓ Git 仓库已存在${NC}"
fi

# 添加所有文件
git add .

# 显示状态
echo ""
echo "Git 状态:"
git status --short

# 步骤 5: 提示下一步
echo ""
echo -e "${YELLOW}[5/5] 准备就绪!${NC}"
echo ""
echo "=========================================="
echo "下一步操作:"
echo "=========================================="
echo ""
echo "1. 创建 Hugging Face Space:"
echo "   https://huggingface.co/new-space"
echo "   - SDK: Docker"
echo "   - Hardware: CPU basic"
echo ""
echo "2. 提交并推送代码:"
echo "   git commit -m 'Initial deployment'"
echo "   git remote add hf https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE"
echo "   git push hf main"
echo ""
echo "3. 配置环境变量(在 Space Settings):"
echo "   APP_KEY=your_password"
echo "   API_KEY=sk-your-api-key"
echo "   APP_URL=https://YOUR_USERNAME-YOUR_SPACE.hf.space"
echo "   DATA_DIR=/data"
echo "   ACCOUNT_STORAGE=local"
echo ""
echo "4. 启用 Persistent Storage"
echo ""
echo "5. 配置保活项目(参考 keepalive/README.md)"
echo ""
echo "详细说明请查看: DEPLOY_GUIDE.md"
echo ""
echo -e "${GREEN}准备完成!祝部署顺利!${NC}"