Skip to content

Quick Start Guide (Руководство по быстрому старту)

Добро пожаловать в SLOzy! Это руководство поможет вам установить платформу SLOzy за 15 минут с помощью Docker Compose. Это самый быстрый способ опробовать все возможности коммерческой платформы.

🎯 Что вы получите

Следуя этому руководству, вы получите:

  • Полнофункциональную платформу SLOzy: Полная система с всеми сервисами
  • Сохранение данных: База данных PostgreSQL с образцами данных
  • Мониторинг: Дашборды Prometheus и Grafana
  • Обновления в реальном времени: Работающие WebSocket соединения
  • Тестовые SLO: Предварительно настроенные SLO для экспериментов

⏱️ Время выполнения

Общее время: 15-20 минут

🧰 Требования

Необходимое программное обеспечение

  • Docker: 20.10+ или Docker Desktop 4.15+
  • Docker Compose: 2.0+
  • Git: Для клонирования репозитория
  • Свободные порты: Убедитесь, что порты 8080, 3000, 5432, 6379, 9090, 3001 свободны

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

bash
# Проверьте Docker
docker --version
docker-compose --version

# Проверьте доступность портов
# (На macOS/Linux)
lsof -i :8080
lsof -i :3000
lsof -i :5432
lsof -i :6379

# (На Windows используйте netstat или PowerShell)
netstat -ano | findstr :8080

📥 Шаг 1: Клонирование репозитория

Сначала клонируйте репозиторий SLOzy:

bash
git clone https://github.com/philyuchkoff/slozy.git
cd slozy

🔧 Шаг 2: Настройка переменных окружения

Создайте необходимую конфигурацию:

bash
# Скопируйте пример файла окружения
cp .env.example .env

# Отредактируйте переменные окружения
nano .env

Настройте эти критические настройки:

bash
# Конфигурация базы данных
DATABASE_URL=postgres://postgres:postgres@postgres:5432/slozy_db?sslmode=disable

# JWT секрет (сгенерируйте безопасную случайную строку)
JWT_SECRET=замените-это-на-безопасную-случайную-строку-минимум-32-символа

# Настройки приложения
SERVER_PORT=8080
GIN_MODE=debug  # Используйте 'release' для лучшей производительности

# Функциональные флаги
CACHE_ENABLED=true
NOTIFICATIONS_ENABLED=true
WEBSOCKET_ENABLED=true

Сгенерируйте безопасный JWT секрет:

bash
openssl rand -base64 32

🚀 Шаг 3: Сборка и запуск сервисов

Соберите и запустите сервисы с помощью Docker Compose:

bash
# Сборка и запуск всех сервисов
docker-compose up -d

# Показ логи (опционально)
docker-compose logs -f

Ожидаемый результат:

✅ Building slozy-web
✅ Building slozy-frontend
✅ Creating slozy-postgres
✅ Creating slozy-redis
✅ Creating slozy-prometheus
✅ Creating slozy-grafana
✅ Starting services...
✅ Сервисы запущены и работают!

⏳ Шаг 4: Ожидание готовности сервисов

Дождите полной готовности всех сервисов:

bash
# Проверьте статус сервисов
docker-compose ps

# Подробный статус
docker-compose ps -a

Ожидаемый статус:

NAME                    STATUS    PORTS
slozy-postgres         Up       0.0.0.0:5432->5432/tcp
slozy-redis           Up       0.0.0.0:6379->6379/tcp
slozy-prometheus      Up       0.0.0.0:9090->9090/tcp
slozy-grafana         Up       0.0.0.0:3001->3000/tcp
slozy-web             Up       0.0.0.0:8080->8080/tcp
slozy-frontend        Up       0.0.0.0:3000->80/tcp

Все сервисы должны показывать статус Up.

🧪 Шаг 5: Запуск миграций базы данных

Инициализируйте схему базы данных:

bash
# Запустите миграции
docker-compose exec slozy-web ./slozy-web migrate up

# Ожидаемый результат
 Running migrations...
 18 migrations applied successfully
 Database is ready!

🏥 Шаг 6: Проверка работоспособности

Проверьте здоровое состояние всех сервисов:

bash
# Проверьте здоровье приложения
curl http://localhost:8080/health

# Ожидаемый ответ
{
  "status": "ok",
  "timestamp": "2026-06-09T14:30:00Z",
  "services": {
    "database": "ok",
    "redis": "ok",
    "notifications": "ok",
    "websocket": "ok"
  }
}

🌐 Шаг 7: Доступ к веб-интерфейсу

Откройте свой любимый веб-браузер:

Frontend Приложение:

http://localhost:3000

Backend API:

http://localhost:8080

Дашборд Grafana:

http://localhost:3001

Первоначальный вход

Используйте эти учетные данные по умолчанию для первого входа:

Email: admin@slozy.net
Пароль: admin123

(Примечание: Сразу измените этот пароль после первого входа!)

🎯 Шаг 8: Создайте свой первый SLO

Создадим ваш第一个 Уровень обслуживания:

  1. Перейдите к управлению SLO

    • Нажмите "SLO Management" в левом меню
    • Нажмите кнопку "Create SLO"
  2. Заполните детали SLO:

    • Name: API Response Time
    • Description: Monitor API response time - 95th percentile
    • Target: 99.5 (percent)
    • Time Window: 1h (1 час)
    • Metric Type: latency
    • Query: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))
    • Team: Выберите Production Team
  3. Нажмите "Create" для сохранения SLO

🔍 Шаг 9: Проверьте мониторинг SLO

Проверьте, что ваш SLO мониторится:

  1. Перейдите на Dashboard

    • Нажмите "Dashboard" в левом меню
    • Вы должны увидеть ваш новый SLO в обзоре
  2. Проверьте метрики в реальном времени

    • Нажмите на имя вашего SLO для получения детальных метрик
    • Вы должны увидеть собирающиеся данные о производительности

✅ Шаг 10: Проверьте WebSocket обновления

Проверьте работу обновлений в реальном времени:

  1. Откройте новую вкладку браузера с вашим SLO
  2. Внесите изменения (например, измените SLO)
  3. Наблюдайте обновления в реальном времени в исходной вкладке
  4. Проверьте WebSocket соединение в DevTools браузера (F12 → Network → WS)

📊 Шаг 11: Изучите дашборды мониторинга

Получите insights из Grafana для мониторинга:

  1. Откройте Grafana
    http://localhost:3001
  2. Войдите: admin / admin
  3. Перейдите к: Dashboards → SLOzy Overview
  4. Просмотрите метрики:
    • Производительность приложения
    • Производительность базы данных
    • Использование системных ресурсов
    • SLO-специфичные метрики

🔔 Шаг 12: Проверьте уведомления

Настройте и протестируйте уведомления:

  1. Перейдите к Settings → Notifications
  2. Добавьте тестовый канал:
    • Type: Slack
    • Webhook URL: https://hooks.slack.com/services/YOUR/WEBHOOK/URL
  3. Отправьте тестовое уведомление
  4. Проверьте доставку в вашем канале Slack

🧹 Шаг 13: Послеустановочная настройка

Настройки безопасности

Измените учетные данные по умолчанию немедленно:

  1. Перейдите к Settings → Security
  2. Измените пароль по умолчанию
  3. Включите 2FA (опционально, но рекомендуется)
  4. Настройте белый список IP если необходимо

Настройка производительности

Оптимизируйте производительность для вашей нагрузки:

  1. Перейдите к Settings → Cache
  2. Настройте TTL кэша (рекомендация: 5 минут для разработки)
  3. Включите сжатие для больших наборов данных
  4. Установите максимальное количество записей кэша в зависимости от потребностей

Конфигурация бэкапов

Настройте автоматические бэкапы:

  1. Экспортируйте схему базы данных для справки:
bash
docker-compose exec postgres pg_dump slozy_db > backup.sql
  1. Настройте расписание бэкапов (см. Руководство по бэкапам)

🎉 Поздравляем!

У вас теперь есть полностью рабочая платформа SLOzy!

Что дальше:

🐛 Решение общих проблем

Конфликты портов

Если у вас конфликты портов:

bash
# Остановите все сервисы
docker-compose down

# Измените порты в файле .env
SERVER_PORT=8081

# Перезапустите сервисы
docker-compose up -d

Проблемы с подключением к базе данных

Если база данных не запускается:

bash
# Проверьте логи базы данных
docker-compose logs postgres

# Перезапустите базу данных
docker-compose restart postgres

# Сбросьте базу (ПРЕДУПРЕЖДЕНИЕ: это удалит все данные!)
docker-compose down -v
docker-compose up -d

Приложение не запускается

Если приложение не запускается:

bash
# Проверьте логи приложения
docker-compose logs slozy-web --tail=50

# Общие проблемы:
# - База данных не готова → подождите 30 секунд и перезапустите
# - Конфликт портов → измените SERVER_PORT в .env
# - Миграция не удалась → проверьте строку подключения к базе данных

Frontend не загружается

Если frontend не загружается:

bash
# Проверьте логи frontend
docker-compose logs slozy-frontend --tail=50

# Пересоберите frontend
docker-compose build slozy-frontend
docker-compose up -d slozy-frontend

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

Проверьте работоспособность всех сервисов:

bash
# Общий статус
docker-compose ps

# Проверка работоспособности отдельных сервисов
curl http://localhost:8080/health
curl http://localhost:9090/-/healthy  # Prometheus
curl http://localhost:3001/api/health  # Grafana

# Проверка использования ресурсов
docker stats

🔄 Сброс установки

Если вам нужно начать с нуля:

bash
# Остановите все сервисы
docker-compose down

# Удалите все тома (это удалит все данные!)
docker-compose down -v

# Удалите образы
docker-compose rmi

# Начните заново
docker-compose up -d

🚀 За пределами быстрого старта

Когда вы освоитесь с основами:

  1. Расширенная конфигурация - См. Руководство по конфигурации
  2. Продуктивное развертывание - См. Руководство по развертыванию
  3. Изучение функций - См. Документацию функций
  4. Интеграция API - См. Справочник API
  5. Настройка мониторинга - См. Руководство по мониторингу

📞 Получение помощи

Если вы столкнулись с проблемами:

  1. Проверьте Руководство по устранению проблем
  2. Почитайте FAQ
  3. Свяжитесь с поддержкой - support@slozy.net
  4. Посетите форум сообщества - https://community.slozy.net

Далее: Конфигурация приложения ⏭️

Назад: Начало работы ⬅️

Язык: 🇬🇧 English | 🇷🇺 Русский