Step by step guide to deploy and run HoneyComb node without using docker

I wrote a step-by-step guide to deploy the HoneyComb node using Docker. Many people found it very useful and were able to run a node without any technical expertise. A few people approached me asking if there is a possibility to run the node without using Docker as they are not familiar with Docker. They also expressed challenges when they wanted to run multiple instances of the node.

This guide will be useful for people who would like to run the HoneyComb node (SPK claim node) without using docker. We are going to use pm2 to run the node in the background. Pm2 is a utility to run node apps in the background. It comes with lot more facilities to monitor the node, automatic restart, etc. Let's go step by step.

image.png

Source

Step 1: Prerequisites and Server setup

You can refer to my previous article for this information. It is pretty much the same. There are no changes as far as I know. We can jump to the next step.

Step 2: Install Nodejs and Pm2

Pm2 is a package inside Nodejs, so it is mandatory to install node js. Even in the docker approach, the application was running only with the help of Nodejs but Docker would handle installing it and running it inside the container. Now that we are going to run it directly, we have to first install nodejs.

The documentation recommends from version 10 to version 15 but I did install version 16 and it appears to be fine. For Ubuntu, I usually go to the below link and grab the commands to download and install it.

https://github.com/nodesource/distributions/blob/master/README.md

It should be pretty much straightforward. If you are having trouble installing Nodejs, please leave a comment in this article and I will elaborate on this step.

After installing nodejs, we can check the version of nodejs and npm using the below command.

node -v
npm -v

image.png

Now the next task is to install pm2. The below command can be used to install pm2.

npm install -g pm2

This command will install pm2 globally. This means we will be able to use pm2 not only for this node js application but also for any node application we would like to deploy.

Step 3: Getting the latest code and updating the .env file

After cloning the latest code from the repository, we have to run the below command to install the packages. This command will install all the dependencies that are required for the node.

npm install

Updating the .env file is also similar to what we do with docker. The procedure is the same. You can refer to the previous documentation to update the environment file.

Step 4: Starting the application

This part is a little different. We are going to be using pm2 to run the application. The below command can be used to start the application.

pm2 start index.js --name spkcc --time

This command will start the node. We can also run the node without using pm2 using the below command.

node index.js

But the problem is, when we close the console, the application will stop. That is the reason why we have to run the application using a process manager like Pm2.

Final Optional steps

With this, the node should be successfully running. Whenever there is an update, it is also easy to update the code and run the updated version of the node. The following commands will be useful for that.

git pull
pm2 restart spkcc

This basically pulls the latest code and restarts the node. You can either do it manually or schedule these commands or automate this command using a shell script.


If you like what I'm doing on Hive, you can vote me as a witness with the links below.

Vote @balaz as a Hive Witness

Vote @kanibot as a Hive Engine Witness



H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center