| 1 | # Docker |
| 2 | |
| 3 | DeepSeek TUI ships an official multi-arch Docker image (amd64 + arm64) on |
| 4 | [GitHub Container Registry](https://github.com/Hmbown/DeepSeek-TUI/pkgs/container/deepseek-tui). |
| 5 | |
| 6 | ## Quick start |
| 7 | |
| 8 | ```bash |
| 9 | docker run --rm -it \ |
| 10 | -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ |
| 11 | -v ~/.deepseek:/home/deepseek/.deepseek \ |
| 12 | ghcr.io/hmbown/deepseek-tui:latest |
| 13 | ``` |
| 14 | |
| 15 | Images are published to GitHub Container Registry (GHCR) only. Docker Hub |
| 16 | publishing is not currently configured — add a `docker/login-action` step |
| 17 | with Hub credentials to the release workflow if needed. |
| 18 | |
| 19 | ## Environment variables |
| 20 | |
| 21 | | Variable | Required | Description | |
| 22 | |-----------------------|----------|--------------------------------------------------| |
| 23 | | `DEEPSEEK_API_KEY` | yes | DeepSeek API key | |
| 24 | | `DEEPSEEK_BASE_URL` | no | Custom API base URL (e.g. `https://api.deepseek.com`) | |
| 25 | | `DEEPSEEK_NO_COLOR` | no | Set to `1` to disable terminal colour output | |
| 26 | |
| 27 | ## Volumes |
| 28 | |
| 29 | Mount `~/.deepseek` to persist sessions, config, skills, memory, and the offline queue |
| 30 | across container restarts: |
| 31 | |
| 32 | ```bash |
| 33 | -v ~/.deepseek:/home/deepseek/.deepseek |
| 34 | ``` |
| 35 | |
| 36 | Without this mount the container starts fresh each time. |
| 37 | |
| 38 | ## Non-interactive / pipeline usage |
| 39 | |
| 40 | When stdin is not a TTY, `deepseek` drops to the dispatcher's one-shot mode |
| 41 | (`deepseek -c "…"`). Pipe a prompt on stdin: |
| 42 | |
| 43 | ```bash |
| 44 | echo "Explain the Cargo.toml in structured English." | \ |
| 45 | docker run --rm -i -e DEEPSEEK_API_KEY ghcr.io/hmbown/deepseek-tui:latest |
| 46 | ``` |
| 47 | |
| 48 | ## Building locally |
| 49 | |
| 50 | ```bash |
| 51 | # Single platform (your host architecture) |
| 52 | docker build -t deepseek-tui . |
| 53 | |
| 54 | # Multi-platform (requires a builder with emulation) |
| 55 | docker buildx create --use |
| 56 | docker buildx build --platform linux/amd64,linux/arm64 -t deepseek-tui . |
| 57 | ``` |
| 58 | |
| 59 | ## Devcontainer |
| 60 | |
| 61 | The repository includes a [`.devcontainer/devcontainer.json`](../.devcontainer/devcontainer.json) |
| 62 | configuration for VS Code / GitHub Codespaces. It pre-installs the Rust toolchain, |
| 63 | rust-analyzer, and the `deepseek` binary. Open the repo in a devcontainer to get a |
| 64 | ready-to-use development environment. |
| 65 | |
| 66 | ## Tags |
| 67 | |
| 68 | | Tag | Meaning | |
| 69 | |------------|--------------------------| |
| 70 | | `latest` | Latest stable release | |
| 71 | | `v0` | Latest v0.x release | |
| 72 | | `0.8.9` | Specific release version | |
| 73 | |
| 74 | Docker images are built and pushed automatically when a release tag is pushed |
| 75 | (see [release.yml](../.github/workflows/release.yml)). |
| 76 |