docker: add NVIDIA/AMD GPU overlays via COMPOSE_FILE (#254)
Opt-in overlays under docker/ that pass the host GPU into the odysseus container. Pick one in .env: COMPOSE_FILE=docker-compose.yml:docker/gpu.nvidia.yml COMPOSE_FILE=docker-compose.yml:docker/gpu.amd.yml Non-GPU users are unaffected (no default merge). README now points at the overlays instead of the old ad-hoc `gpus: all` suggestion. Each overlay header notes that it only exposes the GPU devices — the slim image still needs vLLM / llama-cpp-python / etc. installed via Cookbook -> Dependencies before models can serve on GPU. Tested on Arch + Docker 29.5.1 + RTX 4090: docker compose exec odysseus nvidia-smi -L GPU 0: NVIDIA GeForce RTX 4090 (UUID: GPU-...) Cookbook hardware scan reports the 24 GB GPU and recommends GPU-fit models. `docker compose config` validates cleanly for all three COMPOSE_FILE variants (base, +nvidia, +amd). Builds on the structure proposed in #91 by @krllus with the path / docs fixes from the review on that PR. Closes #163. Co-authored-by: krllus <krllus@users.noreply.github.com>
This commit is contained in:
15
README.md
15
README.md
@@ -73,9 +73,18 @@ serve engines and Python CLIs are stored in `./data/local`, mounted as
|
||||
|
||||
After downloading a model, open **Cookbook -> Serve**, pick the cached model,
|
||||
and launch it. When the server answers `/v1/models`, Odysseus adds it to the
|
||||
chat model picker automatically. For NVIDIA GPUs in Docker, install the NVIDIA
|
||||
Container Toolkit and add `gpus: all` to the `odysseus` service if `nvidia-smi`
|
||||
is not visible inside the container.
|
||||
chat model picker automatically. For NVIDIA / AMD GPUs in Docker, install
|
||||
the host runtime (NVIDIA Container Toolkit or ROCm drivers) and enable the
|
||||
matching overlay via `COMPOSE_FILE` in `.env`:
|
||||
|
||||
```bash
|
||||
# NVIDIA
|
||||
COMPOSE_FILE=docker-compose.yml:docker/gpu.nvidia.yml
|
||||
# AMD ROCm
|
||||
COMPOSE_FILE=docker-compose.yml:docker/gpu.amd.yml
|
||||
```
|
||||
|
||||
Verify with `docker compose exec odysseus nvidia-smi -L` (or `rocm-smi`).
|
||||
|
||||
The default Docker image is intentionally slim. For Python-based serve engines,
|
||||
use **Cookbook -> Dependencies** to install vLLM, SGLang, llama-cpp-python, or
|
||||
|
||||
Reference in New Issue
Block a user