add podman

bazzite
Sergey Marinkevich 5 days ago
parent d70b7d5ad2
commit 5b112ba5ec

@ -6,6 +6,7 @@
#
# Модель: ./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).

@ -0,0 +1,68 @@
#!/usr/bin/env bash
# Эквивалент docker-compose.yml для Podman: один запуск — один контейнер llama-server.
# Требования: Podman, драйвер NVIDIA, NVIDIA Container Toolkit с CDI для Podman
# (обычно: nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml && перезапуск).
# GPU по умолчанию: --device nvidia.com/gpu=all
# Если не подходит: export PODMAN_GPU_FLAGS='--gpus all' (Podman 4.3+) или см. доку toolkit.
#
# Из каталога репозитория: ./podman-llama.sh
# Переменные — как в compose / .env: PORT, MODEL_FILE, CPU_MOE, N_CPU_MOE, CTX_SIZE,
# CACHE_TYPE_K, CACHE_TYPE_V, THREADS; образ: IMAGE (по умолчанию server-cuda).
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT"
if [[ -f .env ]]; then
set -a
# shellcheck disable=SC1091
source .env
set +a
fi
: "${PORT:=8080}"
: "${MODEL_FILE:=model.gguf}"
: "${CPU_MOE:=0}"
: "${N_CPU_MOE:=99}"
: "${CTX_SIZE:=50000}"
: "${CACHE_TYPE_K:=q8_0}"
: "${CACHE_TYPE_V:=turbo2}"
: "${THREADS:=8}"
: "${IMAGE:=ghcr.io/ggml-org/llama.cpp:server-cuda}"
# Разбить по пробелам для podman (пусто = только CDI-устройство).
# Пример: PODMAN_GPU_FLAGS='--gpus all'
read -r -a PODMAN_GPU_FLAGS_ARR <<<"${PODMAN_GPU_FLAGS:---device nvidia.com/gpu=all}"
podman run -d \
--name llama-server \
--replace \
--restart unless-stopped \
--shm-size 1g \
--ulimit memlock=-1:-1 \
-p "${PORT}:8080" \
-v "${ROOT}/models:/models:ro" \
-e NVIDIA_VISIBLE_DEVICES=all \
-e "LLAMA_ARG_CPU_MOE=${CPU_MOE}" \
"${PODMAN_GPU_FLAGS_ARR[@]}" \
"$IMAGE" \
-m "/models/${MODEL_FILE}" \
--host 0.0.0.0 \
--port 8080 \
--n-cpu-moe "${N_CPU_MOE}" \
-c "${CTX_SIZE}" \
-np 1 \
-fa on \
--cache-type-k "${CACHE_TYPE_K}" \
--cache-type-v "${CACHE_TYPE_V}" \
--no-mmap \
--mlock \
--ctx-checkpoints 1 \
--cache-ram 0 \
--jinja \
--reasoning on \
--reasoning-budget -1 \
-b 2048 \
-ub 2048 \
--threads "${THREADS}"
Loading…
Cancel
Save