File size: 1,087 Bytes
30e8202
7916515
 
30e8202
 
a66c108
30e8202
 
 
7916515
 
fa3f11b
30e8202
 
 
7916515
30e8202
66296d5
 
7916515
 
30e8202
a66c108
30e8202
 
 
7916515
a66c108
19da504
6201aa8
19da504
6201aa8
7916515
19da504
936e381
a66c108
7916515
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
FROM python:3.10

# 1. 创建用户并更新 pip
RUN useradd -m -u 1000 user && \
    python -m pip install --upgrade pip

USER user
ENV PATH="/home/user/.local/bin:$PATH"
WORKDIR /app

# 2. 安装依赖
ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_QLIB="0.9.0"
COPY --chown=user ./requirements.txt requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt

# 3. 复制代码并修复 qlib 版本
COPY --chown=user . /app
COPY fix_qlib_version.py /tmp/
RUN python /tmp/fix_qlib_version.py

# 4. 环境变量
ENV PYTHONPATH=/app/qlib/source:$PYTHONPATH
ENV QLIB_DATA_DIR=/app/qlib_data
EXPOSE 7860
ENV MCP_TRANSPORT=http
ENV MCP_PORT=7860

# ✅ 关键修改:在构建阶段下载并保存在 /app(会被保留到最终镜像中)
RUN mkdir -p /app/qlib_data && \
    wget -q https://github.com/chenditc/investment_data/releases/latest/download/qlib_bin.tar.gz -O /tmp/qlib_bin.tar.gz && \
    tar -zxf /tmp/qlib_bin.tar.gz -C /app/qlib_data --strip-components=1 && \
    rm -f /tmp/qlib_bin.tar.gz



# 🧩 启动命令
CMD ["python", "qlib/mcp_output/start_mcp.py"]