Installing Helix Plan Web on Linux

Perform the following tasks to install and configure Helix Plan Web on Linux.

1. If nginx is not installed, install it using the following:

Copy
sudo apt update
sudo apt install nginx

2. Download and install an LTS version of node.js, v18 or later.

You can check which version (if any) of node.js is currently installed with the following:

Copy
node -v

3. Download Helix Plan Web and unzip it to your desired install location.

4. In HelixPlanWeb/HelixPlanAPI/, rename config-example.env to .env.

5. Configure the server details in .env as required.

If you change the "port=4000" setting, you also need to update this port in nginx.conf. See Step 10.

6. Navigate to HelixPlanWeb/HelixPlanAPI/ and run:

Copy
npm ci --omit=dev

7. In HelixPlanWeb/certificates/, replace the existing certificate example with your own. They should be named web.pem and web.key, as referred to in the example nginx.conf file.

This can either be a certificate acquired from a certificate authority or a self-signed certificate, generated locally with OpenSSL. The following is an example for generating a self-signed certificate with OpenSSL:

Copy
openssl req -new -newkey rsa:2048 -nodes -days 365 -keyout ./certificates/web.key -out ./certificates/web.pem

Example certificates are provided, which you can use to get up and running. To use these, rename the example files to web.key and web.pem.

The example certificates are for testing purposes only, and do not create a secure connection.

8. Copy client files to the web root directory - for example: /usr/share/nginx/html

Copy
cp -r client/dist/* /usr/share/nginx/html/
cp -r integrations/helix_core /usr/share/nginx/html/

9. Copy certificates folder into the nginx directory:

Copy
cp -r certificates /usr/share/nginx/

10. (Optional) To keep the /etc/nginx/nginx.conf file, back it up.

If you have a nginx.conf file, you can merge applicable pieces from nginx-example.conf into your existing nginx.conf file. If you do this, you should skip Step 11.

11. Copy the example file:

Copy
cp nginx-example.conf /etc/nginx/nginx.conf

12. Start nginx as a service:

Copy
sudo systemctl start nginx

13. Run ./start.sh to start Helix Plann API.

You can also run the API as a service. For more information, see the Helix Plan API documentation.

14. Visit https://localhost

15. If you want to let users open the Helix Plan desktop client from the web client, set the hostname for the Helix Plan Server.