Author the docker-compose stack (llama.cpp + Open WebUI + Qdrant + Lazytainer) #4
Notifications
Due Date
No due date set.
Blocks
Depends on
#2 Confirm quantization availability for Qwen3.8-27B
haylan/LLM-Server
Reference: haylan/LLM-Server#4
Reference in New Issue
Block a user
Part of #1
Blocked by: #2, #3
Question
Author
docker-compose.yml,.env.example, and a model-download helper script implementing the locked decisions on the map (#1): llama.cpp (ROCm/HIP, gfx1201) serving the confirmed Qwen3.8-27B quant from #2 with its Anthropic Messages API shim enabled per #3's findings; Open WebUI (login-enabled, RAG+Memory pointed at Qdrant); a standalone Qdrant service; Lazytainer fronting the llama.cpp container with a 15 min idle timeout; named Docker volumes for all model/service data (no host bind-mounts); ROCm GPU device passthrough (/dev/kfd, /dev/dri) wired correctly for the container. This is the task that turns the map's decisions into a working stack in the repo.Resolved. Authored
docker-compose.yml,.env.example,scripts/download-model.sh, and a top-levelREADME.mdquickstart — committed onmain(f0e4730).ghcr.io/ggml-org/llama.cpp:server-rocm(gfx1201-supported), ROCm device passthrough (/dev/kfd,/dev/dri,video/rendergroups), servingQwen3.8-27B-UD-Q4_K_XL.gguffrom #2. Port 8080 published to the host for direct Claude Code CLI / Kimi CLI access, alongside Open WebUI's internal use.WEBUI_AUTH=True, wired to llama-server's OpenAI-compatible endpoint,VECTOR_DB=qdrant+QDRANT_URI. Note: Open WebUI has no env var to seed an admin account — the first signup becomes admin, documented in the README.llama-server(sleepMethod=stop, 15 mininactiveTimeout, configurable via.env).--profile tools run downloader) pulling the confirmed GGUF straight into themodelsnamed volume — no host bind-mount, no extra host tooling needed. Wrapped byscripts/download-model.sh.models,qdrant-data,openwebui-data) — no host bind-mounts, per the map's decision.docker compose configvalidates. Not yet tested against real hardware — that's #5.