ds2api / Dockerfile
lucklca's picture
Update Dockerfile
99e1642 verified
raw
history blame contribute delete
864 Bytes
# 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'