Типичные проблемы при развёртывании Hub и способы их решения
Устранение неполадок при установке
Этот раздел адресован тому, кто разворачивает Hub: здесь описаны типичные проблемы при запуске, подключении к Core и активации, а также способы их решения.
Hub не запускается
Проверьте логи
docker compose logs hub
docker compose logs postgres
PostgreSQL ещё не готов
Симптом: Hub падает сразу после запуска с ошибкой подключения к базе данных.
Причина: Hub стартовал до того, как PostgreSQL принял соединения.
Решение: Docker Compose ожидает готовности PostgreSQL через health check — убедитесь, что используете оригинальный docker-compose.yml без изменений. Если проблема повторяется, перезапустите:
docker compose restart hub
Неверные переменные окружения
Симптом: Hub запустился, но не работает корректно.
Решение: Убедитесь, что все обязательные переменные из .env заполнены. Особо проверьте DATABASE_PASSWORD — он должен совпадать с тем, что использовался при инициализации PostgreSQL.
Если вы изменили DATABASE_PASSWORD после первого запуска, база данных его не примет. Нужно удалить том и начать заново: docker compose down -v. Все данные при этом будут удалены.
Hub не подключается к Core
Проверьте логи Hub
Состояние соединения с Core видно в логах Hub:
docker compose logs -f hub
Пока Hub только устанавливает соединение с Core, в логах могут появляться сообщения о повторных попытках — в течение нескольких минут после первого запуска это нормально. Если соединение так и не устанавливается, сверьтесь с таблицей ниже.
Возможные причины
| Симптом в логах | Причина | Решение |
|---|---|---|
UNAVAILABLE: io exception с SslHandler | TLS-ошибка при соединении с Core | Проверьте правильность CORE_GRPC_HOST; если адрес верный — обратитесь в поддержку |
UNAVAILABLE: Connection refused | Core недоступен или неверный адрес | Проверьте CORE_GRPC_HOST и доступность порта 443 |
Connection timed out | Нет сетевого доступа до Core | Проверьте firewall/правила сети |
Проверьте сетевой доступ
# Из контейнера 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: READY | Core подключён, Hub в полном режиме |
grpcChannel: TRANSIENT_FAILURE | Core недоступен, Hub переподключается |
diskSpace: UP | Достаточно места на диске |
status: OUT_OF_SERVICE | Core недоступен (Hub работает, торговля остановлена) |
Частые вопросы при администрировании
Можно ли перенести Hub на другой сервер?
Да. Процедура:
CIPHER_SALT — он должен совпадать с оригиналом).CIPHER_SALT используется для шифрования токенов. Если он изменится, Hub не сможет расшифровать сохранённые ключи — потребуется пересоздание всех API-токенов.
Поддерживается ли HTTPS для Hub?
Hub работает по HTTP. Для HTTPS используйте обратный прокси (nginx, Traefik и т.п.) или Ingress в случае Kubernetes.
Hub под Kubernetes также может быть настроен через Ingress с TLS — см. Установка через Kubernetes.