Files
llama-space/docker-compose.yml
T
2026-05-03 10:27:25 +07:00

76 lines
3.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
#
# Модель: ./models/ + MODEL_FILE в .env.
# Запуск: docker compose up -d или docker-compose up -d
# Podman (одна команда, те же флаги): ./podman-llama.sh
# Проверка: curl http://localhost:8080/health
#
# 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 и лимиты пользователя на хосте.
# Дефолт chat-template: instruct (enable_thinking=false). Режим thinking — поменяйте JSON у --chat-template-kwargs.
version: "3.8"
services:
llama-server:
image: ghcr.io/ggml-org/llama.cpp:server-cuda
container_name: llama-server
ports:
# Явный IPv4 на хосте (избегаем привязки только к [::] в части окружений).
- "0.0.0.0:${PORT:-8080}:8080"
volumes:
- ./models:/models:ro
# Старый docker-compose v1 не знает ключ `gpus:` — используем runtime nvidia (см. daemon.json от toolkit).
runtime: nvidia
environment:
NVIDIA_VISIBLE_DEVICES: all
# llama.cpp: https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md
LLAMA_ARG_CPU_MOE: "${CPU_MOE:-0}"
shm_size: 1gb
ulimits:
memlock:
soft: -1
hard: -1
command:
- "-m"
- "/models/${MODEL_FILE:-model.gguf}"
- "--host"
- "0.0.0.0"
- "--port"
- "8080"
- "--n-cpu-moe"
- "${N_CPU_MOE:-99}"
- "-c"
- "${CTX_SIZE:-50000}"
- "-np"
- "1"
- "-fa"
- "on"
- "--cache-type-k"
- "${CACHE_TYPE_K:-q8_0}"
- "--cache-type-v"
- "${CACHE_TYPE_V:-turbo2}"
- "--no-mmap"
- "--mlock"
- "--ctx-checkpoints"
- "1"
- "--cache-ram"
- "0"
- "--jinja"
- "--reasoning"
- "on"
- "--reasoning-budget"
- "-1"
- "-b"
- "2048"
- "-ub"
- "2048"
- "--threads"
- "${THREADS:-8}"
restart: unless-stopped