| FROM node:22-slim | |
| # 1. 安装 socat 用于本地回环端口转发 | |
| RUN apt-get update && apt-get install -y --no-install-recommends socat \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 2. 全局安装 DSH | |
| RUN npm install -g @deepseek-ai/dsh | |
| # 3. 切换至 node 用户 | |
| USER node | |
| ENV HOME=/home/node \ | |
| PATH=/home/node/.local/bin:$PATH \ | |
| NODE_OPTIONS="--max-old-space-size=8192" | |
| WORKDIR /home/node/app | |
| # HF Spaces 暴露 7860 端口 | |
| EXPOSE 7860 | |
| # 启动流程: | |
| # 1) 后台启动 socat,将 0.0.0.0:7860 的请求转发给 127.0.0.1:3080 | |
| # 2) 启动 dsh web(使用默认 127.0.0.1:3080) | |
| CMD ["sh", "-c", "socat TCP-LISTEN:7860,fork,reuseaddr TCP:127.0.0.1:3080 & exec dsh web --no-open"] | |