nbugs commited on
Commit
3a4dd4e
·
verified ·
1 Parent(s): 5ac104e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +38 -13
Dockerfile CHANGED
@@ -2,33 +2,58 @@ FROM python:3.10-slim
2
 
3
  WORKDIR /app
4
 
5
- # 安装依赖
 
 
 
 
 
 
6
  COPY requirements.txt .
7
  RUN pip install --no-cache-dir -r requirements.txt
8
 
9
- # 安装系统依赖
10
- RUN apt-get update && apt-get install -y \
11
- wget \
12
- tar \
13
- && rm -rf /var/lib/apt/lists/*
14
-
15
- # 下载并配置 subconverter
16
  RUN mkdir -p /app/subconverter && \
17
- cd /app/subconverter && \
18
  wget https://github.com/tindy2013/subconverter/releases/download/v0.7.2/subconverter_linux64.tar.gz && \
19
  tar -xzf subconverter_linux64.tar.gz && \
20
  rm subconverter_linux64.tar.gz && \
21
- chmod +x subconverter
22
 
23
  # 复制应用文件
24
  COPY . .
25
 
26
- # 创建启动脚本
27
- RUN chmod +x start.sh
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  # 暴露端口
30
  EXPOSE 7860
31
- EXPOSE 25500
32
 
33
  # 启动命令
34
  CMD ["/app/start.sh"]
 
2
 
3
  WORKDIR /app
4
 
5
+ # 安装必要的依赖
6
+ RUN apt-get update && \
7
+ apt-get install -y wget tar curl procps && \
8
+ apt-get clean && \
9
+ rm -rf /var/lib/apt/lists/*
10
+
11
+ # 安装 Python 依赖
12
  COPY requirements.txt .
13
  RUN pip install --no-cache-dir -r requirements.txt
14
 
15
+ # 下载并配置 subconverter (使用更可靠的发布版本)
 
 
 
 
 
 
16
  RUN mkdir -p /app/subconverter && \
17
+ cd /app && \
18
  wget https://github.com/tindy2013/subconverter/releases/download/v0.7.2/subconverter_linux64.tar.gz && \
19
  tar -xzf subconverter_linux64.tar.gz && \
20
  rm subconverter_linux64.tar.gz && \
21
+ chmod +x /app/subconverter/subconverter
22
 
23
  # 复制应用文件
24
  COPY . .
25
 
26
+ # 创建更可靠的启动脚本
27
+ RUN echo '#!/bin/bash\n\
28
+ # 启动 subconverter 并等待\n\
29
+ cd /app/subconverter\n\
30
+ ./subconverter >/app/subconverter.log 2>&1 &\n\
31
+ SUBCONVERTER_PID=$!\n\
32
+ \n\
33
+ echo "等待 subconverter 启动..."\n\
34
+ # 等待 subconverter 完成初始化 (通常需要几秒钟)\n\
35
+ sleep 8\n\
36
+ \n\
37
+ # 检查 subconverter 是否正在运行\n\
38
+ if ps -p $SUBCONVERTER_PID > /dev/null; then\n\
39
+ echo "subconverter 成功启动 (PID: $SUBCONVERTER_PID)"\n\
40
+ # 记录版本信息\n\
41
+ curl -s http://127.0.0.1:25500/version > /app/version.txt\n\
42
+ echo "版本信息: $(cat /app/version.txt)"\n\
43
+ else\n\
44
+ echo "subconverter 启动失败"\n\
45
+ # 打印日志以供调试\n\
46
+ echo "=== subconverter 日志 ===" \n\
47
+ cat /app/subconverter.log\n\
48
+ fi\n\
49
+ \n\
50
+ # 启动 Flask 应用\n\
51
+ cd /app\n\
52
+ exec gunicorn --bind 0.0.0.0:7860 app:app\n\
53
+ ' > /app/start.sh && chmod +x /app/start.sh
54
 
55
  # 暴露端口
56
  EXPOSE 7860
 
57
 
58
  # 启动命令
59
  CMD ["/app/start.sh"]