Типичные проблемы при развёртывании Hub и способы их решения

Устранение неполадок при установке

Этот раздел адресован тому, кто разворачивает Hub: здесь описаны типичные проблемы при запуске, подключении к Core и активации, а также способы их решения.

Hub не запускается

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

bash
docker compose logs hub
docker compose logs postgres

PostgreSQL ещё не готов

Симптом: Hub падает сразу после запуска с ошибкой подключения к базе данных.

Причина: Hub стартовал до того, как PostgreSQL принял соединения.

Решение: Docker Compose ожидает готовности PostgreSQL через health check — убедитесь, что используете оригинальный docker-compose.yml без изменений. Если проблема повторяется, перезапустите:

bash
docker compose restart hub

Неверные переменные окружения

Симптом: Hub запустился, но не работает корректно.

Решение: Убедитесь, что все обязательные переменные из .env заполнены. Особо проверьте DATABASE_PASSWORD — он должен совпадать с тем, что использовался при инициализации PostgreSQL.

!

Если вы изменили DATABASE_PASSWORD после первого запуска, база данных его не примет. Нужно удалить том и начать заново: docker compose down -v. Все данные при этом будут удалены.

Hub не подключается к Core

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

Состояние соединения с Core видно в логах Hub:

bash
docker compose logs -f hub

Пока Hub только устанавливает соединение с Core, в логах могут появляться сообщения о повторных попытках — в течение нескольких минут после первого запуска это нормально. Если соединение так и не устанавливается, сверьтесь с таблицей ниже.

Возможные причины

Симптом в логахПричинаРешение
UNAVAILABLE: io exception с SslHandlerTLS-ошибка при соединении с CoreПроверьте правильность CORE_GRPC_HOST; если адрес верный — обратитесь в поддержку
UNAVAILABLE: Connection refusedCore недоступен или неверный адресПроверьте CORE_GRPC_HOST и доступность порта 443
Connection timed outНет сетевого доступа до CoreПроверьте firewall/правила сети

Проверьте сетевой доступ

bash
# Из контейнера Hub
docker compose exec hub curl -v https://${CORE_GRPC_HOST}:443

Не удаётся скачать Docker-образ

Симптом: docker compose pull завершается с ошибкой.

Решение: Проверьте, что значение HUB_IMAGE в файле .env указано в точности так, как его выдал вендор, и что у сервера есть доступ в интернет для скачивания образа.

Симптом: при docker compose up -d (или docker compose pull) скачивание образа обрывается с ошибкой вида failed to copy: httpReadSeeker: failed open ... EOF.

Решение: Это временный сбой сети при загрузке образа из реестра. Просто повторите команду — Docker докачает недостающие слои. Иногда требуется несколько попыток.

Состояние Hub — OUT_OF_SERVICE

Это нормально, если Core временно недоступен. Hub продолжает работать: можно входить в интерфейс, редактировать настройки. Недоступна только торговля (расчёт ставок).

Соединение восстановится автоматически — Hub использует экспоненциальный откат при повторных попытках.

Не удаётся активировать Hub через портал

Симптом: После перехода на портал и нажатия «Привязать» редирект не возвращает на Hub, или Hub показывает ошибку активации.

Решения:

  • Вернитесь на портал и нажмите «Привязать» ещё раз.
  • Убедитесь, что Hub доступен по адресу, с которого вы открываете браузер.
  • Проверьте, что CORE_PORTAL_URL указан корректно в .env.

WB-токен не принимается

Этот вопрос относится к работе с интерфейсом Hub, а не к его развёртыванию. Подробнее — в разделах Подключение WB-аккаунта и Устранение неполадок Hub.

Интерпретация health-статусов

Статус компонентаЗначение
r2dbc: UPБаза данных подключена
grpcChannel: READYCore подключён, Hub в полном режиме
grpcChannel: TRANSIENT_FAILURECore недоступен, Hub переподключается
diskSpace: UPДостаточно места на диске
status: OUT_OF_SERVICECore недоступен (Hub работает, торговля остановлена)

Частые вопросы при администрировании

Можно ли перенести Hub на другой сервер?

Да. Процедура:

1
Создайте резервную копию базы данных PostgreSQL.
2
Разверните Hub на новом сервере с теми же переменными окружения (особо важен CIPHER_SALT — он должен совпадать с оригиналом).
3
Восстановите базу данных из резервной копии.
4
Повторите активацию через портал Core.
!

CIPHER_SALT используется для шифрования токенов. Если он изменится, Hub не сможет расшифровать сохранённые ключи — потребуется пересоздание всех API-токенов.

Поддерживается ли HTTPS для Hub?

Hub работает по HTTP. Для HTTPS используйте обратный прокси (nginx, Traefik и т.п.) или Ingress в случае Kubernetes.

Hub под Kubernetes также может быть настроен через Ingress с TLS — см. Установка через Kubernetes.