# DeepSeek Harness Docker Deploy Runtime image wrapper for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`) Web UI. The image ships a toolchain only. On every container start, `docker/entrypoint.sh` installs official `@deepseek-ai/dsh@latest` from npm, then starts `dsh web` behind a local port forward (`0.0.0.0:3080` → `127.0.0.1:3081`). Prebuilt image (multi-arch `linux/amd64` + `linux/arm64`): ```text registry.cn-hangzhou.aliyuncs.com/skymirror/dsh:latest ``` ## Docker Compose (recommended) ```bash git clone cd DeepSeekHarnessDocker docker compose up -d --build # or image: …/skymirror/dsh:latest without build docker compose logs -f dsh ``` Minimal compose: ```yaml services: dsh: image: registry.cn-hangzhou.aliyuncs.com/skymirror/dsh:latest ports: - "3080:3080" volumes: - dsh-data:/home/dsh/.dsh - ./workspace:/workspace environment: - DSH_HOME=/home/dsh/.dsh - HOME=/workspace - DSH_NPM_REGISTRY=https://registry.npmmirror.com restart: unless-stopped volumes: dsh-data: ``` ## docker run ```bash docker run -d --name dsh \ --restart unless-stopped \ -p 3080:3080 \ -v dsh-data:/home/dsh/.dsh \ -v "$PWD/workspace":/workspace \ -e DSH_HOME=/home/dsh/.dsh \ -e HOME=/workspace \ -e DSH_NPM_REGISTRY=https://registry.npmmirror.com \ registry.cn-hangzhou.aliyuncs.com/skymirror/dsh:latest docker logs -f dsh ``` Open the logged `dsh web: http://127.0.0.1:3081/?token=…` URL once with **`:3081` replaced by `:3080`** (30-day cookie). Full guide: [DEPLOY.md](DEPLOY.md) / [中文](README.zh.md). ## Layout | Path | Role | |------|------| | `Dockerfile` | Toolchain image (Node 24 / Python 3.11 / gcc / pnpm / rustup bootstrap) | | `docker-compose.yml` | Ports, `dsh-data` volume, workspace mount | | `docker/entrypoint.sh` | Install `@deepseek-ai/dsh@latest` and start web | | `docker/ensure-rust.sh` | On-demand Rust toolchain installer | ## License GPL-3.0 — see [LICENSE](LICENSE). This deployment wrapper is licensed under the GNU General Public License v3.0. Upstream DeepSeek Harness itself remains MIT; only this repository's Docker/deploy files are under GPL-3.0.