feat(v0.8.9): address all issues labeled v0.8.9
#551 — sidebar filters prior-session agents (from_prior_session) #552 — status messages prioritise ↑ affordance over /queue #553 — oversized paste consolidation to @mention file (+uuid suffix) #523 — release.yml: add if: guard so release job doesn't skip on dispatch #526 — verify cost_status side-channel is fully wired (already in place) #554 — mouse/trackpad scroll now sets user_scrolled_during_stream #522 — set RELEASE_TAG_PAT secret for auto-tag → release trigger #504 — session-context panel (SidebarFocus::Context, config toggle, default off) #501 — multi-arch Dockerfile (+BUILDPLATFORM pin) + devcontainer + release CI #484 — docs/RUNTIME_API.md rewritten against actual runtime_api.rs endpoints #482 — close v0.8.8 planning tracker Fixes from review: - RUNTIME_API.md: corrected endpoints (/v1/...), port (7878), doctor JSON schema (flat) - Dockerfile: added --platform=$BUILDPLATFORM for native multi-arch builds - docs/DOCKER.md: removed Docker Hub references (GHCR only) - sidebar.rs: dropped unused _theme variable - settings.rs: context_panel default changed to false - app.rs: paste filename now includes 8-char uuid suffix to avoid collision
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# Docker
|
||||
|
||||
DeepSeek TUI ships an official multi-arch Docker image (amd64 + arm64) on
|
||||
[GitHub Container Registry](https://github.com/Hmbown/DeepSeek-TUI/pkgs/container/deepseek-tui).
|
||||
|
||||
## Quick start
|
||||
|
||||
```bash
|
||||
docker run --rm -it \
|
||||
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
|
||||
-v ~/.deepseek:/home/deepseek/.deepseek \
|
||||
ghcr.io/hmbown/deepseek-tui:latest
|
||||
```
|
||||
|
||||
Images are published to GitHub Container Registry (GHCR) only. Docker Hub
|
||||
publishing is not currently configured — add a `docker/login-action` step
|
||||
with Hub credentials to the release workflow if needed.
|
||||
|
||||
## Environment variables
|
||||
|
||||
| Variable | Required | Description |
|
||||
|-----------------------|----------|--------------------------------------------------|
|
||||
| `DEEPSEEK_API_KEY` | yes | DeepSeek API key |
|
||||
| `DEEPSEEK_BASE_URL` | no | Custom API base URL (e.g. `https://api.deepseek.com`) |
|
||||
| `DEEPSEEK_NO_COLOR` | no | Set to `1` to disable terminal colour output |
|
||||
|
||||
## Volumes
|
||||
|
||||
Mount `~/.deepseek` to persist sessions, config, skills, memory, and the offline queue
|
||||
across container restarts:
|
||||
|
||||
```bash
|
||||
-v ~/.deepseek:/home/deepseek/.deepseek
|
||||
```
|
||||
|
||||
Without this mount the container starts fresh each time.
|
||||
|
||||
## Non-interactive / pipeline usage
|
||||
|
||||
When stdin is not a TTY, `deepseek` drops to the dispatcher's one-shot mode
|
||||
(`deepseek -c "…"`). Pipe a prompt on stdin:
|
||||
|
||||
```bash
|
||||
echo "Explain the Cargo.toml in structured English." | \
|
||||
docker run --rm -i -e DEEPSEEK_API_KEY ghcr.io/hmbown/deepseek-tui:latest
|
||||
```
|
||||
|
||||
## Building locally
|
||||
|
||||
```bash
|
||||
# Single platform (your host architecture)
|
||||
docker build -t deepseek-tui .
|
||||
|
||||
# Multi-platform (requires a builder with emulation)
|
||||
docker buildx create --use
|
||||
docker buildx build --platform linux/amd64,linux/arm64 -t deepseek-tui .
|
||||
```
|
||||
|
||||
## Devcontainer
|
||||
|
||||
The repository includes a [`.devcontainer/devcontainer.json`](../.devcontainer/devcontainer.json)
|
||||
configuration for VS Code / GitHub Codespaces. It pre-installs the Rust toolchain,
|
||||
rust-analyzer, and the `deepseek` binary. Open the repo in a devcontainer to get a
|
||||
ready-to-use development environment.
|
||||
|
||||
## Tags
|
||||
|
||||
| Tag | Meaning |
|
||||
|------------|--------------------------|
|
||||
| `latest` | Latest stable release |
|
||||
| `v0` | Latest v0.x release |
|
||||
| `0.8.9` | Specific release version |
|
||||
|
||||
Docker images are built and pushed automatically when a release tag is pushed
|
||||
(see [release.yml](../.github/workflows/release.yml)).
|
||||
Reference in New Issue
Block a user