test server
This commit is contained in:
119
scripts/start.sh
Normal file
119
scripts/start.sh
Normal file
@@ -0,0 +1,119 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AI Server Start Script for Ubuntu
|
||||
# Optimized for RTX 2060
|
||||
|
||||
set -e
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${BLUE}🚀 Запуск AI Server...${NC}"
|
||||
|
||||
# Check if running as root for system services
|
||||
if [[ $EUID -eq 0 ]]; then
|
||||
echo -e "${YELLOW}Запуск системных сервисов...${NC}"
|
||||
|
||||
# Start Ollama service
|
||||
echo "🤖 Запуск Ollama..."
|
||||
systemctl start ollama
|
||||
|
||||
# Wait for Ollama to start
|
||||
sleep 5
|
||||
|
||||
# Check Ollama status
|
||||
if systemctl is-active --quiet ollama; then
|
||||
echo -e "${GREEN}✅ Ollama запущен${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Ошибка запуска Ollama${NC}"
|
||||
journalctl -u ollama --no-pager -l | tail -10
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Start Web UI service
|
||||
echo "🌐 Запуск веб-интерфейса..."
|
||||
systemctl start ai-server-webui
|
||||
|
||||
# Wait for containers to start
|
||||
sleep 10
|
||||
|
||||
# Check Web UI status
|
||||
if systemctl is-active --quiet ai-server-webui; then
|
||||
echo -e "${GREEN}✅ Веб-интерфейс запущен${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Ошибка запуска веб-интерфейса${NC}"
|
||||
journalctl -u ai-server-webui --no-pager -l | tail -10
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
echo -e "${YELLOW}Запуск пользовательских сервисов...${NC}"
|
||||
|
||||
# Change to working directory
|
||||
cd /opt/ai-server
|
||||
|
||||
# Check if Ollama is running
|
||||
echo "🤖 Проверка Ollama..."
|
||||
if ! curl -s http://localhost:11434 >/dev/null 2>&1; then
|
||||
echo -e "${YELLOW}Ollama не отвечает, попытка запуска...${NC}"
|
||||
sudo systemctl start ollama
|
||||
sleep 5
|
||||
|
||||
# Check again
|
||||
if ! curl -s http://localhost:11434 >/dev/null 2>&1; then
|
||||
echo -e "${RED}❌ Не удается запустить Ollama${NC}"
|
||||
echo "Попробуйте: sudo systemctl status ollama"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
echo -e "${GREEN}✅ Ollama доступен${NC}"
|
||||
|
||||
# Start web interface containers
|
||||
echo "🌐 Запуск веб-интерфейса..."
|
||||
docker compose up -d
|
||||
|
||||
# Wait for containers
|
||||
sleep 10
|
||||
|
||||
# Check container status
|
||||
if docker compose ps | grep -q "running"; then
|
||||
echo -e "${GREEN}✅ Веб-интерфейс запущен${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Ошибка запуска контейнеров${NC}"
|
||||
docker compose logs --tail=20
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get server IP
|
||||
SERVER_IP=$(hostname -I | awk '{print $1}')
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}🎉 AI Server успешно запущен!${NC}"
|
||||
echo ""
|
||||
echo -e "${BLUE}📍 Доступные сервисы:${NC}"
|
||||
echo " 🌐 Веб-интерфейс: http://${SERVER_IP}:3000"
|
||||
echo " 🤖 Ollama API: http://${SERVER_IP}:11434"
|
||||
echo " 📊 Portainer: http://${SERVER_IP}:9000 (если включен)"
|
||||
echo ""
|
||||
echo -e "${BLUE}💡 GPU информация:${NC}"
|
||||
if command -v nvidia-smi &> /dev/null; then
|
||||
nvidia-smi --query-gpu=name,memory.used,memory.total,utilization.gpu --format=csv,noheader,nounits 2>/dev/null | \
|
||||
awk -F', ' '{printf " GPU: %s\n VRAM: %d/%d MB (%.1f%%)\n Загрузка: %d%%\n", $1, $2, $3, ($2/$3)*100, $4}'
|
||||
else
|
||||
echo " ❌ NVIDIA GPU недоступен"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${YELLOW}📋 Полезные команды:${NC}"
|
||||
echo " ai-status - проверка статуса"
|
||||
echo " ai-stop - остановка сервера"
|
||||
echo " ai-logs - просмотр логов"
|
||||
echo " ai-models - список моделей"
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}Готово к работе! 🎯${NC}"
|
||||
Reference in New Issue
Block a user