Как скачать готовую поставку, пройти мастер настройки и настроить платформу через админ-панель. Для интеграции приложений см. раздел Public API.
Версия 1.0.9 (Public Auth Platform). Добавлен Public Auth API для внешних приложений (/api/v1/auth/*), подтверждение email и расширенный редактор шаблонов писем. Централизованный почтовый сервис (из 1.0.8) по-прежнему настраивается в админке. Мастер первичной настройки ведёт по шагам; для установки API не нужен. Public API — в разделе документации; интерактивная спецификация — Swagger UI (/api/docs/public).
| Компонент | Требование |
|---|---|
| ОС | Linux x86_64 (Ubuntu 20.04+, CentOS 8+ и др.), Windows 10+, macOS 12+ |
| ОЗУ | от 512 МБ (рекомендуется 2 ГБ) |
| Диск | от 500 МБ свободного места |
| СУБД | MySQL 8.0+ или PostgreSQL 14+ (можно поднять отдельно или в Docker) |
Рекомендуемый способ для Linux — готовый дистрибутив ядра.
wget https://cascad360.ru/downloads/core/1.0.9/cascad360-1.0.9-linux-x86_64.tar.gz
# или
curl -LO https://cascad360.ru/downloads/core/1.0.9/cascad360-1.0.9-linux-x86_64.tar.gz
Прямая ссылка: cascad360-1.0.9-linux-x86_64.tar.gz
tar -xzf cascad360-1.0.9-linux-x86_64.tar.gz
cd cascad360
# опционально: установка в /opt
# sudo mv cascad360 /opt/cascad360
# cd /opt/cascad360
Новая установка (рекомендуется в 1.0.7+): сначала мастер первичной настройки:
./cascad360 --setup
# Откройте в браузере (порт по умолчанию — 5050):
# http://localhost:5050/setup
После завершения мастера основное приложение запускается автоматически в фоне — как systemd-сервис cascad360 (при установке от root) или фоновый процесс. Дальнейшее управление — через systemctl (рекомендуется) или команды ./cascad360.
Уже настроенная система — запуск и остановка через systemd:
sudo systemctl start cascad360
sudo systemctl stop cascad360
sudo systemctl status cascad360
Если unit не настроен (локальная отладка без root):
./cascad360 start
# если исполняемый файл в bin/:
# ./bin/cascad360 start
После установки и завершения мастера настройки КАСКАД 360 работает как фоновый сервис под управлением systemd. Unit — cascad360.service; при установке от администратора сервера мастер может создать его и включить автозапуск автоматически.
Основные команды (от root или через sudo):
systemctl status cascad360 # статус: running / stopped, последние строки лога
systemctl start cascad360 # запуск сервиса
systemctl stop cascad360 # остановка
systemctl enable cascad360 # автозапуск при загрузке ОС
| Команда | Когда использовать |
|---|---|
status | Проверить, что платформа запущена и нет ошибок unit |
start / stop | Ручной запуск и остановка — перед обновлением, правкой config.yml или диагностикой |
enable | Включить автозапуск после перезагрузки сервера (если ещё не включён) |
После изменения config.yml перезапустите сервис:
sudo systemctl restart cascad360
Просмотр логов в реальном времени:
journalctl -u cascad360 -f
Без systemd: если unit не создан (например, установка без root), используйте ./cascad360 start и ./cascad360 status из каталога установки. Для production на Linux рекомендуется настроить systemd — мастер делает это при завершении настройки от root.
После запуска откройте в браузере:
http://localhost:5050/setup при ./cascad360 --setuphttp://localhost:5000 — откройте в браузере и войдитеhttp://localhost:5000/loginОсновной файл — config.yml в каталоге установки. При первой установке можно скопировать шаблон:
cp config.yml.example config.yml
Минимально полезные параметры перед первым запуском:
app:
name: Контур
version: 1.0.9
setup_completed: false
setup_app_configured: false # true после шага 3 мастера (1.0.7+)
web:
host: 0.0.0.0
port: 5000
public_port: 5001
public_api_separate: false # true — Public API на отдельном порту
public_api_enabled: true
plugin_ports:
enabled: false # true — HTTP-listener'ы плагинов (см. 3.1)
database:
driver: mysql
host: localhost
port: 3306
database: cascad360
username: cascad_user
password: change-me
Параметры подключения к БД можно также указать в мастере настройки (/setup) — тогда правка config.yml не обязательна до первого входа.
Перед продакшеном измените пароль БД и секретные ключи приложения. Полный список параметров — в config.yml.example и документации API; детально про порты — в разделе 3.1.
Порты задаются в config.yml. После изменения перезапустите сервис: sudo systemctl restart cascad360 (см. раздел 2.4).
| Порт / диапазон | Параметр | Назначение |
|---|---|---|
5000 | web.port | Основной HTTP: админ-панель, служебные функции платформы, шлюз, маршрутизация |
5001 | web.public_port | Public API — только при public_api_separate: true |
8000–8999 | plugin_ports | Диапазон HTTP-listener'ов плагинов (при enabled: true) |
web)port — порт админки и служебные функции платформы (по умолчанию 5000).public_api_separate: false — Public API на том же порту (режим по умолчанию, как в 1.0.5).public_api_separate: true — служебные функции платформы на port, Public API на public_port; удобно для сетевого разделения контуров.public_api_enabled: false — отключить Public API полностью.# Раздельные порты платформы и Public API
web:
port: 5000
public_port: 5001
public_api_separate: true
public_api_enabled: true
plugin_ports, 1.0.6)Для плагинов с собственным веб-интерфейсом. По умолчанию выключено — ядро остаётся компактным.
plugin_ports:
enabled: true
port_range_min: 8000
port_range_max: 8999
max_listeners: 10
reserved_ports: [5000, 5001, 5050] # порты, которые плагины не могут занять
auto_start_on_boot: false
default_host: 0.0.0.0
hook_timeout_seconds: 30
Управление listener'ами — в админ-панели (раздел плагинов) с правами plugin_ports_view, plugin_ports_manage, plugin_ports_operate.
Firewall: откройте только нужные порты — обычно web.port и при необходимости public_port или конкретные порты из диапазона plugin_ports. Порт СУБД не должен быть доступен извне.
При первой установке запустите ./cascad360 --setup и откройте http://localhost:5050/setup. Альтернатива: при setup_completed: false мастер доступен на основном порту — http://localhost:5000/setup.
Мастер выполняется в браузере. С версии 1.0.7 переход между шагами возможен только после реальной готовности предыдущего этапа — индикаторы прогресса отражают фактическое состояние, а не дефолты конфигурации.
app.setup_app_configured: true.Когда все три шага выполнены, становится активной кнопка «Завершить настройку». После нажатия:
app.setup_completed: true);systemctl start cascad360 (при root + systemd), установку unit с enable --now или фоновый процесс ./cascad360;http://localhost:5000/login.Systemd: после завершения мастера сервис работает в фоне как cascad360.service. Управление — командами из раздела 2.4; при установке от root мастер может сразу выполнить systemctl enable --now cascad360.
После завершения откройте http://localhost:5000 и войдите с учётной записью, созданной на шаге 2.
После входа в админ-панель настройка выполняется через боковое меню. Набор доступных разделов зависит от вашей роли.
| Раздел меню | Что можно сделать |
|---|---|
| Главная | Сводка состояния платформы |
| Сервисы | Список подключённых сервисов, запуск и остановка |
| Маршрутизация | Правила направления запросов к сервисам |
| Балансировка | Распределение нагрузки между репликами |
| Контейнеры | Обзор Docker-контейнеров |
| Пользователи | Учётные записи, роли и права |
| Модули / Плагины | Установленные расширения и их настройка |
| Обновления / Маркет | Обновление платформы и каталог расширений |
| Журналы / Мониторинг | Логи, метрики и оповещения |
| Файлы | Загрузка и управление файлами |
| Базы данных / Студия БД | Структура таблиц, просмотр и правка данных |
| Настройки → Почта | Исходящая почта, шаблоны писем, тестовая отправка |
| Настройки → Безопасность → Public Auth | Регистрация, подтверждение email, защита от перебора |
| Настройки → Уведомления | Email-каналы для алертов |
| Настройки | Общие параметры и API-ключи для интеграций |
Работа с данными выполняется в трёх связанных разделах админ-панели.
Просмотр структуры основной базы данных платформы: список таблиц, проверка схемы. Используется для диагностики после установки.
Привязка отдельных баз данных к подключённым сервисам:
Единый интерфейс для любой привязанной базы (ядро или сервис):
В верхней части студии выберите источник данных и базу — контекст сохраняется в URL, ссылку можно передать коллеге.
Доступ к студии и операциям с данными регулируется правами роли: db_view, db_edit, db_schema, db_sql_execute, db_audit. Назначение прав — в разделе «Пользователи».
Интерактивная read-only документация Public API: /api/docs/public. Спецификация — GET /api/openapi.json. Подробнее — OpenAPI и метрики.
Если плагин предоставляет собственный HTTP-интерфейс, включите plugin_ports.enabled: true в config.yml — параметры и диапазоны портов описаны в разделе 3.1. Регистрация и запуск listener'ов — в админ-панели (раздел плагинов) с учётом RBAC.
На странице сервисов отображаются подключённые бэкенды: статус, health-check, метрики. Доступны действия запуска, остановки, перезапуска и масштабирования — через кнопки в интерфейсе.
Настройка правил, по которым запросы /api/module/<модуль>/… проксируются к целевым сервисам:
Выбор алгоритма распределения запросов между репликами сервиса (round-robin, least connections и др.).
Обзор и управление Docker-контейнерами, если Service Discovery работает через Docker.
Управление версиями ядра, модулей и плагинов:
stable, beta);Канал и URL реестра задаются в config.yml (секция updates), остальное — в панели.
Витрина модулей и плагинов поверх центра обновлений:
Установка и обновление из маркета требуют активной подписки или лицензии. На dev/staging просмотр каталога может быть доступен без подписки (параметр market.subscription_gate_mode: browse в config.yml).
Если нужно подключить внешнее приложение к данным, файлам или отправке почты через платформу, создайте API-ключ в разделе Настройки и назначьте нужные разрешения (например, mail:send для Service API почты). Подробности — в документации публичного API.
Начиная с версии 1.0.8, в поставку входит обязательный плагин mail. Все исходящие письма (алерты, сервисные уведомления, вызовы Service API) проходят через единый почтовый контур — настройка транспорта выполняется один раз в админке.
Не блокирует установку: платформа стартует и без настроенного SMTP. В этом случае почта в режиме degraded — вход в админку доступен, но email-каналы не доставляют письма до настройки транспорта. На вкладке «Уведомления» отображается предупреждение.
from_email, при необходимости from_name) и параметры SMTP (host, port, шифрование, учётные данные).На вкладке Настройки → Уведомления создайте канал типа email. В конфигурации канала указываются только получатели (to, опционально cc) и шаблон — параметры SMTP в канале не хранятся.
При срабатывании правила алерта письмо ставится в очередь плагина mail. Статус — в журнале «Почта» → Outbox.
Внешние сервисы могут отправлять письма через платформу без прямого доступа к SMTP:
POST /api/v1/mail/send
X-API-Key: <ключ с permission mail:send>
Content-Type: application/json
{
"to": ["user@example.com"],
"subject": "Уведомление",
"text": "Текст письма"
}
Подробнее — в документации Mail Service API.
В секции Почта → Шаблоны доступны системные шаблоны (в т.ч. system.auth.verify_email) и пользовательские. Можно редактировать subject и HTML, выполнять preview и test-send. Письма подтверждения регистрации используют эти шаблоны автоматически.
Public Auth API — для вашего сайта, личного кабинета или приложения. Адрес методов: /api/v1/auth/*. Подробный контракт — в документации Public Auth.
Требуется почта: для регистрации с подтверждением email транспорт почты должен быть настроен (раздел 10). Иначе register вернёт 503 mail_unavailable.
https://lk.example.ru/auth/confirm-email. В письме будет ссылка {base}?token=....email verified; можно отправить письмо подтверждения повторно или заблокировать Public API для конкретного пользователя.# Регистрация (пример)
curl -X POST http://localhost:5000/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"username":"demo","email":"demo@example.ru","password":"DemoPass1","consent_pd":true}'
# Login после verify email
curl -X POST http://localhost:5000/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"demo","password":"DemoPass1"}'
Подробный контракт — в документации Public Auth API.
Убедитесь, что платформа работает:
systemctl status cascad360 — состояние active (running) (см. раздел 2.4).config.yml установлено app.setup_completed: true.http://localhost:5000/login и войдите с учётной записью администратора./api/docs/public) — проверьте доступность OpenAPI spec.ok после настройки SMTP).system.auth.verify_email.curl http://localhost:5000/api/health
# Ожидаемый ответ: {"status":"ok","version":"1.0.9", ...}
Если шлюз не отвечает после мастера — проверьте systemctl status cascad360 и логи journalctl -u cascad360 -n 50, что порт 5000 не занят и параметры БД в config.yml верны. В логах должно быть Loaded N builtin plugin(s), N ≥ 4 (включая mail). При необходимости перезапуск: sudo systemctl restart cascad360.