Путь проверки состояния нужен, если вы хотите выполнять периодическую проверку того, запущено ли приложение и работает ли оно корректно.
По умолчанию при деплое система обращается только к корневому URL (/). То есть запрашивается главная страница, и если она возвращает не 2xx, деплой считается неуспешным.
Это не всегда удобно:
- У API может не быть корневого эндпойнта — он может вернуть
404; - Статический сайт может использовать маршрутизацию на клиенте — и корневой путь может не сработать без окружения браузера;
- Приложение может возвращать ошибку из-за временного состояния или, например, ожидания стороннего ресурса (базы данных).
После деплоя приложение не проверяется — даже если оно перестанет отвечать, это никак не повлияет на его статус.
Чтобы избежать таких ситуаций, можно настроить путь проверки состояния. Для этого в приложении должен быть реализован эндпойнт, который не зависит от внешних факторов (например, готовности базы данных или сторонних сервисов) и отражает состояние приложения.
Этот эндпойнт вы сможете указать при настройке — например, /health, /status или /ping.
Как работает
Во всех случаях запрос к пути проверки состояния выполняется с localhost.
Главное требование — возвращать код 2xx. Содержимое ответа неважно, главное — корректный код ответа.
При редеплое
Если путь проверки состояния указан, система делает три последовательных запроса к новому деплою.
- Если все три запроса возвращают код
2xx— деплой считается успешным, и новая версия приложения становится активной. - Если три проверки подряд завершаются ошибкой (любой ответ отличный от
2xx) — деплой считается неуспешным, и продолжает работать предыдущая версия. - Проверки продолжаются до тех пор, пока не будет:
- три успешных ответа подряд,
- три неуспешных ответа подряд,
- или не пройдет 180 секунд — если за это время ни одно из условий не выполнено, деплой считается неуспешным.
В логах деплоя появится сообщение, если проверка не пройдена.
После запуска
После успешного деплоя система продолжает регулярно проверять работоспособность приложения: один запрос каждые 30 секунд.
Если три проверки подряд завершаются ошибкой, приложение автоматически перезапускается. Это отобразится в логах приложения.

Настройка
Путь проверки состояния можно указать как при создании приложения, так и для уже существующего.
При создании приложения
В разделе «Настройка приложения» укажите путь в поле «Путь проверки состояния».
Например, если в приложении реализован эндпойнт /health, который доступен по адресу https://домен/health, укажите:
/health

Для уже созданного приложения
-
Откройте нужное приложение в панели управления;
-
Перейдите на вкладку «Настройки»;
-
В блоке «Настройки деплоя» нажмите кнопку «Редактировать»;
-
Введите путь проверки состояния;
-
Нажмите «Сохранить данные».
После этого автоматически запустится новый деплой с обновленной настройкой.

Docker и Docker Compose
Если вы используете деплой через Dockerfile, в панели управления будет доступна настройка пути проверки состояния. Но если в самом Dockerfile прописан HEALTHCHECK, он имеет приоритет — настройка из панели в этом случае игнорируется.
Настройка через Dockerfile подробно описана в официальной документации.
Пример:
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
CMD curl -f http://localhost/health || exit 1
Для деплоев через Docker Compose настройка пути проверки состояния в панели управления не поддерживается.
Если при этом используется Dockerfile, вы можете настроить HEALTHCHECK внутри него — правило будет работать, как описано выше.