add docker

This commit is contained in:
2026-08-12 20:02:49 +07:00
parent 7a3333b2f8
commit b01698e663
4 changed files with 256 additions and 14 deletions
+23 -14
View File
@@ -1,14 +1,22 @@
# llama.cpp + CUDA в Docker (Qwen3.x / крупные GGUF на 12 ГБ VRAM: гибрид GPU+CPU).
# Образ по умолчанию: server-cuda (CUDA 12 в контейнере) — совместим с большинством GPU и драйверов.
# Альтернатива: server-cuda13 — только если GPU/драйвер тянут CUDA 13; иначе ggml_cuda_init:
# «forward compatibility was attempted on non supported HW» → оставьте server-cuda.
# Нужны: драйвер NVIDIA, NVIDIA Container Toolkit, runtime nvidia в Docker.
# llama-cpp-turboquant + CUDA в Docker (Qwen3.x / крупные GGUF на 12 ГБ VRAM: гибрид GPU+CPU).
# Образы собираются локально из клона TheTom/llama-cpp-turboquant (см. docker/).
#
# Модель: ./models/ + MODEL_FILE в .env.
# Запуск: docker compose up -d или docker-compose up -d
# Podman (одна команда, те же флаги): ./podman-llama.sh
# CUDA 12 (дефолт) — RTX 30xx / драйвер CUDA 12.x
# CUDA 13 — Blackwell (RTX 50xx, sm_120), драйвер ≥ CUDA 13.1:
# LLAMA_IMAGE_TAG=server-cuda13 LLAMA_DOCKERFILE=../llama-space/docker/server-cuda13.Dockerfile \
# docker-compose build
#
# Источник: LLAMA_CPP_SRC (дефолт ../llama-cpp-turboquant).
# dockerfile — путь относительно context (так требует docker-compose 1.x).
#
# Сборка: docker-compose build
# Запуск: docker-compose up -d
# Podman: ./podman-llama.sh
# Проверка: curl http://localhost:8080/health
#
# Нужны: драйвер NVIDIA, NVIDIA Container Toolkit, runtime nvidia в Docker.
# Модель: ./models/ + MODEL_FILE в .env.
#
# OOM: уменьшите CTX_SIZE (дефолт 50000), -ngl и/или cache types; при «каше» попробуйте bf16/f16 для KV (больше VRAM).
# MoE: в .env CPU_MOE=1 при необходимости; число слоёв MoE на CPU — N_CPU_MOE (дефолт 99 в command); для dense оставьте CPU_MOE=0.
# --mlock + Docker: поднимите memlock ниже; если предупреждение остаётся — проверьте default-ulimits в /etc/docker/daemon.json и лимиты пользователя на хосте.
@@ -18,7 +26,12 @@ version: "3.8"
services:
llama-server:
image: ghcr.io/ggml-org/llama.cpp:server-cuda13
# image: ghcr.io/ggml-org/llama.cpp:server-cuda13
image: llama-turboquant:${LLAMA_IMAGE_TAG:-server-cuda12}
build:
context: ${LLAMA_CPP_SRC:-../llama-cpp-turboquant}
# Relative to context (sibling of llama-space). Override for CUDA 13 — см. шапку.
dockerfile: ${LLAMA_DOCKERFILE:-../llama-space/docker/server-cuda12.Dockerfile}
container_name: llama-server
ports:
# Явный IPv4 на хосте (избегаем привязки только к [::] в части окружений).
@@ -43,16 +56,12 @@ services:
- "0.0.0.0"
- "--port"
- "8080"
- "--spec-type"
- "draft-mtp"
- "--spec-draft-n-max"
- "3"
- "--n-cpu-moe"
- "${N_CPU_MOE:-99}"
- "-c"
- "${CTX_SIZE:-50000}"
- "-np"
- "1"
- "4"
- "-fa"
- "on"
- "--cache-type-k"