Deploying a Hapi App
You can find the step-by-step deployment guide here.
Application Build Copy link
Hostman uses the following environment when building a Hapi application:
- Node.js: 20, 22, or 24
- npm
- yarn
- PM2 (latest version)
The application is built in the repository root or in the directory specified in the Project directory path field.
Hostman will execute the following commands during the build:
apt install -y nodejs --fix-missing
npm install pm2@latest -g
npm install hapi @hapi/hapi
If the project includes a package.json file and uses yarn, we will also run:
apt-get remove -y cmdtest yarn
npm install --global yarn
cd /<DIRECTORY> && yarn install --check-filesIn all other cases, if the a package.json file is present:
cd /<DIRECTORY> && npm install<DIRECTORY> is the path to the directory with package.json.
The application is run using the PM2 process manager. The default start command is:
pm2 start --no-daemon app.jsThe application initialization file (app.js in the example above) can be named app.js, server.js, main.js, or index.js.
Troubleshooting Copy link
Deployment fails Copy link
If there are problems with deployment, first check the deployment log. You will be able to determine at what point something went wrong.
Often the problems are related to the start command. Check that everything in your development environment works with pm2. Make sure that all modules required to run the application are present in the package.json file.
Please add build instructions to your script section in package.json Copy link
The problem is that the yarn build command accesses the package.json file, and if the value of the build directive is not specified, an error occurs.
To fix this, you need to add the necessary directives to the scripts section of the package.json file. Read more about using scripts here.