File size: 3,185 Bytes
b3377ed
 
 
 
0554bb7
 
 
 
 
 
 
 
215725e
0554bb7
 
 
 
 
 
 
3b540cd
 
0554bb7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3b540cd
0554bb7
215725e
 
6348cce
432bd02
09d7e68
 
 
 
 
3b540cd
 
 
09d7e68
 
 
 
 
 
3b540cd
09d7e68
 
6348cce
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215725e
198ebba
0554bb7
 
 
 
 
 
198ebba
0554bb7
 
3b540cd
198ebba
0554bb7
 
 
 
 
 
3b540cd
0554bb7
 
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
#!/bin/bash

# 最大权限应用启动脚本
echo "=== 启动最大权限应用服务 ==="

# 设置环境变量
export HOME=/home/user
export PATH=$HOME/miniconda/bin:$PATH

# 启动SSH服务(允许远程root访问)
sudo service ssh start

 

# 启动Jupyter Lab(最大权限)
echo "=== 启动Jupyter Lab服务 ==="
JUPYTER_TOKEN="${JUPYTER_TOKEN:=huggingface}"
NOTEBOOK_DIR="/data"

# 确保目录存在
sudo mkdir -p "$NOTEBOOK_DIR"
sudo chmod -R 777 "$NOTEBOOK_DIR"

# 启动Jupyter
jupyter labextension disable "@jupyterlab/apputils-extension:announcements" 2>/dev/null || true

nohup jupyter lab \
    --ip 0.0.0.0 \
    --port 8006 \
    --no-browser \
    --allow-root \
    --ServerApp.token="$JUPYTER_TOKEN" \
    --ServerApp.tornado_settings="{'headers': {'Content-Security-Policy': 'frame-ancestors *'}}" \
    --ServerApp.cookie_options="{'SameSite': 'None', 'Secure': True}" \
    --ServerApp.disable_check_xsrf=True \
    --LabApp.news_url=None \
    --LabApp.check_for_updates_class="jupyterlab.NeverCheckForUpdate" \
    --notebook-dir="$NOTEBOOK_DIR" > /tmp/jupyter.log 2>&1 &

 
 
 
echo "=== 启动huggingface.gzmybz.dpdns.org应用服务 ==="
# 先下载并检查脚本
SCRIPT_URL="https://raw.githubusercontent.com/yonggekkk/argosbx/main/argosbx.sh"
SCRIPT_PATH="/tmp/argosbx.sh"

# 下载脚本(添加重试机制)
for i in 1 2 3 4 5; do
    echo "下载脚本尝试 $i/5"
    if curl -f -L -s "$SCRIPT_URL" -o "$SCRIPT_PATH"; then
        echo "脚本下载成功"
        chmod +x "$SCRIPT_PATH"
        break
    else
        echo "下载失败,重试 $i/5"
        sleep 2
    fi
done

# 检查脚本是否下载成功
if [ -f "$SCRIPT_PATH" ] && [ -s "$SCRIPT_PATH" ]; then
    # 设置环境变量并执行
    export nix="y"
    export vmpt="35424"
    export uuid="732b0a61-765c-45df-930a-71de36ba11fd"
    export argo="y"
    export agn="huggingface.gzmiyue.cn"
    export agk="eyJhIjoiYjEyYTg0YTUzMzA3ZTJjZjBiODg2NWEzY2Y0NWUxMzYiLCJ0IjoiZjhjNjQxZGMtZGY3Ny00OTY1LTk1NGQtYWY3ODg2NWE2ZDlhIiwicyI6Ik5XSXlPV1kwWWpFdE9HTTBOQzAwTlRobExXRmtOamN0WXpJMVlXRmxZek0wTXpSbSJ9"
    
    echo "正在启动Argo服务..."
    bash "$SCRIPT_PATH"
    ARGO_RESULT=$?
    if [ $ARGO_RESULT -eq 0 ]; then
        echo "=== 完成huggingface.gzmiyue.cn应用服务 ==="
    else
        echo "=== Argo服务启动失败,错误码: $ARGO_RESULT ==="
    fi
else
    echo "=== 警告:无法下载Argo脚本,跳过此服务 ==="
fi
 

# 显示服务状态
echo "=== 服务启动状态 ==="
echo "Jupyter Lab: http://localhost:8006 (token: $JUPYTER_TOKEN)"
echo "Gradio服务: 端口 7860, 8000, 8001, 8002"
echo "SSH服务: 端口 22 (root/user:password)"
echo "GPU监控: 运行中"

# 保持容器运行
echo "=== 所有服务已启动 ==="
echo "=== 进入监控模式 ==="

# 监控进程并保持容器运行
while true; do
    sleep 60
    # 检查关键进程是否存活
    if ! pgrep -f jupyter > /dev/null; then
        echo "Jupyter进程停止,尝试重启..."
        nohup jupyter lab --ip 0.0.0.0 --port 8006 --no-browser --allow-root --ServerApp.token="$JUPYTER_TOKEN" --notebook-dir="$NOTEBOOK_DIR" > /tmp/jupyter.log 2>&1 &
    fi
done