Add project and deployment instruction (docs/DEPLOYMENT.md)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ars
2026-02-19 18:12:09 +00:00
commit 53c572ef46
94 changed files with 9200 additions and 0 deletions

100
scripts/check_gpu.sh Executable file
View File

@@ -0,0 +1,100 @@
#!/bin/bash
# Скрипт для проверки подключения GPU в Docker контейнере Ollama
set -e
CONTAINER_NAME="ollama"
echo "=== Проверка GPU в Docker контейнере ==="
echo ""
# Определяем команду docker
DOCKER_CMD="docker"
if ! docker ps >/dev/null 2>&1; then
DOCKER_CMD="sudo docker"
fi
echo "1. Проверка конфигурации в docker-compose.yml..."
if grep -q "driver: nvidia" docker-compose.yml 2>/dev/null; then
echo " ✓ GPU настроен в docker-compose.yml"
echo " Конфигурация:"
grep -A 5 "driver: nvidia" docker-compose.yml | head -6
else
echo " ✗ GPU не настроен в docker-compose.yml"
fi
echo ""
echo "2. Проверка конфигурации контейнера..."
GPU_CONFIG=$($DOCKER_CMD inspect $CONTAINER_NAME 2>/dev/null | grep -i "nvidia\|gpu" | head -5)
if [ -n "$GPU_CONFIG" ]; then
echo " ✓ Найдена конфигурация GPU:"
echo "$GPU_CONFIG"
else
echo " ⚠ Конфигурация GPU не найдена в inspect"
fi
echo ""
echo "3. Проверка доступности nvidia-smi в контейнере..."
if $DOCKER_CMD exec $CONTAINER_NAME which nvidia-smi >/dev/null 2>&1; then
echo " ✓ nvidia-smi доступен"
echo ""
echo " Вывод nvidia-smi:"
$DOCKER_CMD exec $CONTAINER_NAME nvidia-smi 2>&1 | head -15 || echo " ⚠ nvidia-smi не может выполниться"
else
echo " ✗ nvidia-smi не найден в контейнере"
echo " Возможно, контейнер не имеет доступа к GPU"
fi
echo ""
echo "4. Проверка переменных окружения NVIDIA..."
NVIDIA_ENV=$($DOCKER_CMD exec $CONTAINER_NAME env | grep -i nvidia)
if [ -n "$NVIDIA_ENV" ]; then
echo " ✓ Переменные NVIDIA найдены:"
echo "$NVIDIA_ENV"
else
echo " ⚠ Переменные NVIDIA не найдены"
fi
echo ""
echo "5. Проверка логов Ollama на использование GPU..."
RECENT_LOGS=$($DOCKER_CMD logs $CONTAINER_NAME --tail 50 2>&1)
if echo "$RECENT_LOGS" | grep -qi "gpu\|cuda\|nvidia"; then
echo " ✓ Найдены упоминания GPU в логах:"
echo "$RECENT_LOGS" | grep -i "gpu\|cuda\|nvidia" | tail -5
else
echo " ⚠ Нет упоминаний GPU в последних логах"
fi
echo ""
echo "6. Проверка на хосте..."
if command -v nvidia-smi >/dev/null 2>&1; then
echo " GPU на хосте:"
nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv,noheader 2>/dev/null || echo " ⚠ Не удалось получить информацию о GPU"
else
echo " ⚠ nvidia-smi не найден на хосте"
fi
echo ""
echo "=== Резюме ==="
echo ""
if $DOCKER_CMD exec $CONTAINER_NAME nvidia-smi >/dev/null 2>&1; then
echo "✓ GPU подключен и доступен в контейнере"
echo ""
echo "Для детальной информации выполните:"
echo " sudo docker exec ollama nvidia-smi"
else
echo "✗ GPU не доступен в контейнере"
echo ""
echo "Возможные причины:"
echo " 1. Docker не имеет доступа к GPU (нужен nvidia-docker2 или nvidia-container-toolkit)"
echo " 2. Контейнер не был перезапущен после изменения docker-compose.yml"
echo " 3. Драйверы NVIDIA не установлены на хосте"
echo ""
echo "Решение:"
echo " 1. Установите nvidia-container-toolkit:"
echo " sudo apt-get install -y nvidia-container-toolkit"
echo " sudo systemctl restart docker"
echo ""
echo " 2. Перезапустите контейнер:"
echo " docker compose restart ollama"
fi