Установка Р13.Орбита¶
Пошаговая инструкция по развертыванию системы Р13.Орбита из Docker образа.
Предварительные требования
Перед установкой убедитесь, что выполнены все требования к системе.
Шаг 1: Получение Docker образа¶
Получите Docker образ Р13.Орбита из вашего корпоративного реестра:
# Войдите в Docker registry
docker login your-registry.company.com
# Загрузите образ Р13.Орбита
docker pull your-registry.company.com/orbita:latest
Проверьте, что образ загружен:
Шаг 2: Создание рабочей директории¶
Создайте директорию для конфигурации и данных Р13.Орбита:
Шаг 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 под вашу среду:
Обязательно настройте:
- LLM_API_KEY - ваш API ключ провайдера LLM
- CLICKHOUSE_HOST - адрес ClickHouse сервера
- 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/ есть конфигурации для ваших данных:
Если нужно, создайте свои конфигурации. См. Конфигурация доменов.
Шаг 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 - монтирование директории логов
Проверка работоспособности¶
Проверьте, что контейнер запущен:
Проверьте логи:
Проверьте health check:
Ответ:
Доступ к API¶
Откройте Swagger UI в браузере:
Вы должны увидеть интерактивную документацию 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 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 образ загружен
- Файл
.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
Следующие шаги¶
После успешной установки:
- Конфигурация - детальная настройка всех компонентов
- Инфраструктура - развертывание полного стека
- Руководство пользователя - начало работы
Поздравляем с установкой Р13.Орбита! 🚀