Разверните OpenClaw в облаке в один клик
Вход/ Регистрация
На главную
Облачные сервисы

Деплой приложения Hapi

В App Platform для Hapi-приложений доступны три рантайма: Node.js, Bun и Deno. Процесс деплоя зависит от выбранного рантайма: отличаются пакетный менеджер, команда сборки, команда запуска и файл, в котором описываются скрипты или задачи.

Сборка приложения

Пример Hapi-приложения для деплоя можно найти на Гитхабе.

При сборке приложения используется следующая среда:

  • Node.js: 20, 22 или 24
  • npm
  • yarn
  • PM2 (последняя версия)

Сборка приложения выполняется в корне репозитория или в директории, которую вы укажете в поле «Путь к директории проекта».

Во время сборки будут выполнены следующие команды:

    
apt install -y nodejs --fix-missing npm install pm2@latest -g npm install hapi @hapi/hapi

Если в проекте есть файл package.json и используется yarn, дополнительно будет выполнено:

    
apt remove -y cmdtest yarn npm install --global yarn cd /<DIRECTORY> && yarn install --check-files

В остальных случаях при наличии package.json:

    
cd /<DIRECTORY> && npm install

<DIRECTORY> — путь к каталогу, в котором находится package.json

Для запуска используется менеджер процессов PM2. Команда по умолчанию:

    
pm2 start --no-daemon index.js

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

Не удается выполнить развертывание

Если с развертыванием возникают проблемы, в первую очередь проверьте лог деплоя. Вы сможете определить, в какой момент что-то пошло не так. 

Зачастую проблемы связаны с командой запуска. Проверьте, что всё в вашей среде разработки работает с pm2. Убедитесь, что все модули, необходимые для запуска приложения, присутствуют в файле package.json.

Please add build instruction to your script section in package.json

Проблема связана с тем, что команда сборки yarn build обращается к файлу package.json, и если значение директивы build не указано, возникает ошибка.

Чтобы ее устранить, нужно добавить необходимые директивы в секцию scripts файла package.json. Подробнее об использовании scripts здесь.

Требования к приложению

Убедитесь, что приложение слушает 0.0.0.0, а не 127.0.0.1, иначе внешние подключения работать не будут.

Была ли статья полезна?
Ваш ответ поможет улучшить документацию
Пока нет комментариев