File size: 864 Bytes
5a3a7fb
98c45c6
dc1961b
0f4570d
98c45c6
0f4570d
dc1961b
0f4570d
 
73023ec
0f4570d
2324f6f
 
 
5a3a7fb
0f4570d
98c45c6
dc1961b
0f4570d
 
 
 
 
 
 
c1788f8
99e1642
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
# 1. 使用官方镜像
FROM ghcr.io/cjackhwang/ds2api:latest

# 2. 切换到 root 安装 socat 工具
USER root
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*

# 3. 强行暴露 7860,让 HF 满意
EXPOSE 7860

# 4. 初始化配置并赋权
RUN mkdir -p /app && \
    echo "{}" > /app/config.json && \
    chown -R 1000:1000 /app

# 5. 切换回非 root 用户
USER 1000

# ---------------------------------------------------------
# 【核心黑科技】
# 使用 socat 在后台把 7860 的流量转给 5001
# 这样 HF 访问 7860 时,就能连上 5001 的程序了
# ---------------------------------------------------------
CMD sh -c 'socat TCP-LISTEN:7860,fork,reuseaddr TCP:127.0.0.1:5001 & \
    if [ -n "$DS2API_CONFIG_JSON" ]; then echo "$DS2API_CONFIG_JSON" > /app/config.json; fi && \
    /usr/local/bin/ds2api'