Перейти к содержанию

Установка Р13.Орбита

Пошаговая инструкция по развертыванию системы Р13.Орбита из Docker образа.

Предварительные требования

Перед установкой убедитесь, что выполнены все требования к системе.

Шаг 1: Получение Docker образа

Получите Docker образ Р13.Орбита из вашего корпоративного реестра:

# Войдите в Docker registry
docker login your-registry.company.com

# Загрузите образ Р13.Орбита
docker pull your-registry.company.com/orbita:latest

Проверьте, что образ загружен:

docker images | grep orbita
# Должны увидеть: orbita latest ...

Шаг 2: Создание рабочей директории

Создайте директорию для конфигурации и данных Р13.Орбита:

mkdir -p ~/orbita
cd ~/orbita

Шаг 3: Конфигурация

Создание файла переменных окружения

Создайте файл .env с настройками:

cat > .env << 'EOF'
# LLM Provider
LLM_BASE_URL=https://api.openai.com/v1
LLM_API_KEY=your-api-key-here
LLM_MODEL=gpt-4

# ClickHouse
CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
CLICKHOUSE_DATABASE=default
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=

# Metadata DB
METADATA_DB_URL=postgresql://user:password@localhost:5432/orbita
# Или для SQLite:
# METADATA_DB_URL=sqlite:///~/.orbita/metadata.db

# API Server
API_HOST=0.0.0.0
API_PORT=8000

# Optional: Redis
REDIS_URL=redis://localhost:6379/0
EOF

Редактирование конфигурации

Отредактируйте .env под вашу среду:

nano .env  # или vim, или любой редактор

Обязательно настройте:

  1. LLM_API_KEY - ваш API ключ провайдера LLM
  2. CLICKHOUSE_HOST - адрес ClickHouse сервера
  3. METADATA_DB_URL - строка подключения к БД метаданных

Шаг 4: Подготовка данных (опционально)

Загрузка тестовых данных

Если вы используете тестовые данные для начала:

# Загрузите тестовые данные в ClickHouse
clickhouse-client --query "CREATE DATABASE IF NOT EXISTS ecommerce"

# Импортируйте данные (пример)
clickhouse-client --database ecommerce < test_data/ecommerce_schema.sql
clickhouse-client --database ecommerce --query "$(cat test_data/ecommerce_data.sql)"

Настройка доменов

Убедитесь, что в директории domains/ есть конфигурации для ваших данных:

ls domains/
# ecommerce.yaml  logistics.yaml  films.yaml

Если нужно, создайте свои конфигурации. См. Конфигурация доменов.


Шаг 5: Запуск Р13.Орбита

Запуск Docker контейнера

Запустите Р13.Орбита в Docker контейнере:

docker run -d \
  --name orbita \
  -p 8000:8000 \
  --env-file .env \
  -v $(pwd)/domains:/app/domains \
  -v $(pwd)/logs:/app/logs \
  your-registry.company.com/orbita:latest

Параметры: - -d - запуск в фоновом режиме - -p 8000:8000 - проброс порта API - --env-file .env - загрузка конфигурации из .env - -v $(pwd)/domains:/app/domains - монтирование конфигураций доменов - -v $(pwd)/logs:/app/logs - монтирование директории логов

Проверка работоспособности

Проверьте, что контейнер запущен:

docker ps | grep orbita

Проверьте логи:

docker logs orbita

Проверьте health check:

curl http://localhost:8000/health

Ответ:

{
  "status": "healthy",
  "version": "1.0.0"
}

Доступ к API

Откройте Swagger UI в браузере:

http://localhost:8000/docs

Вы должны увидеть интерактивную документацию API.


Шаг 6: Запуск CLI клиента

Для интерактивной работы используйте CLI:

docker run -it --rm \
  --env-file .env \
  --network host \
  your-registry.company.com/orbita:latest \
  orbita-cli chat --mode api --api-url http://localhost:8000

Вы увидите:

╔══════════════════════════════════════════════════╗
║         Р13.Орбита Interactive Chat v1.0             ║
║   Интеллектуальная работа с данными              ║
╚══════════════════════════════════════════════════╝

Готов к работе! Введите ваш вопрос или /help для справки.

>

Попробуйте простой запрос:

> покажи список доменов

Если видите список доменов - установка успешна! 🎉


Шаг 7: Настройка автозапуска (опционально)

Docker с автозапуском

Настройте Docker контейнер для автоматического перезапуска:

docker update --restart unless-stopped orbita

Или пересоздайте контейнер с политикой рестарта:

docker stop orbita
docker rm orbita

docker run -d \
  --name orbita \
  --restart unless-stopped \
  -p 8000:8000 \
  --env-file .env \
  -v $(pwd)/domains:/app/domains \
  -v $(pwd)/logs:/app/logs \
  your-registry.company.com/orbita:latest

Docker Compose (рекомендуется)

Для более удобного управления создайте docker-compose.yml:

version: '3.8'

services:
  orbita:
    image: your-registry.company.com/orbita:latest
    container_name: orbita
    restart: unless-stopped
    ports:
      - "8000:8000"
    env_file:
      - .env
    volumes:
      - ./domains:/app/domains
      - ./logs:/app/logs
    depends_on:
      - postgres
      - clickhouse

  postgres:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_DB: orbita
      POSTGRES_USER: orbita_user
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  clickhouse:
    image: clickhouse/clickhouse-server:latest
    restart: unless-stopped
    ports:
      - "8123:8123"
      - "9000:9000"
    volumes:
      - clickhouse_data:/var/lib/clickhouse

volumes:
  postgres_data:
  clickhouse_data:

Запуск:

docker-compose up -d

Проверка установки

Используйте этот чеклист для проверки:

Базовая установка

  • Docker образ загружен
  • Файл .env создан и настроен
  • Конфигурации доменов размещены в domains/
  • Docker контейнер запущен (docker ps | grep orbita)

Функциональность

  • API health check работает (curl http://localhost:8000/health)
  • Swagger UI доступен (http://localhost:8000/docs)
  • CLI запускается и подключается к API
  • Простой запрос в CLI работает

Подключения

  • Подключение к ClickHouse успешно
  • Подключение к БД метаданных успешно
  • LLM API доступен и отвечает
  • Redis доступен (если настроен)

Решение проблем

Ошибка: Docker образ не загружается

Проблема: Не удается загрузить образ из registry.

Решение:

# Проверьте авторизацию
docker login your-registry.company.com

# Проверьте доступность registry
ping your-registry.company.com

# Убедитесь что у вас есть права доступа к образу
docker pull your-registry.company.com/orbita:latest

Ошибка: Контейнер не запускается

Проблема: docker run завершается с ошибкой.

Решение:

# Проверьте логи контейнера
docker logs orbita

# Проверьте что файл .env существует
ls -la .env

# Проверьте синтаксис .env
cat .env

# Попробуйте запустить в интерактивном режиме для диагностики
docker run -it --rm --env-file .env your-registry.company.com/orbita:latest /bin/bash

Ошибка: ClickHouse connection refused

Проблема: Р13.Орбита не может подключиться к ClickHouse.

Решение:

# Проверьте что ClickHouse запущен
curl http://localhost:8123
# Должен вернуть: Ok.

# Проверьте настройки в .env
cat .env | grep CLICKHOUSE

# Запустите ClickHouse если не запущен
docker start clickhouse  # если используете Docker
sudo service clickhouse-server start  # если нативная установка

Ошибка: LLM API authentication failed

Проблема: Ошибка аутентификации с LLM провайдером.

Решение:

# Проверьте API ключ в .env
cat .env | grep LLM_API_KEY

# Проверьте ключ вручную
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

# Для Ollama проверьте что сервис запущен
curl http://localhost:11434/api/tags

Следующие шаги

После успешной установки:

  1. Конфигурация - детальная настройка всех компонентов
  2. Инфраструктура - развертывание полного стека
  3. Руководство пользователя - начало работы

Поздравляем с установкой Р13.Орбита! 🚀