NodeJS Integration

Nikolay Stoyanov shared this idea 10 months ago
Completed

As a website owner I want to be able to use the NodeJS (as in cPanel) for my website. Please integrate it in SPanel.

25 votes

Comments (25)

photo

What I am currently doing is SSHing into my server.  Install node js and running with something like tmux or screen

photo

Think anno 2021 there should really be node integration within SPanel

photo

NodeJS can be installed on request on any SPanel VPS. Is there anything specific you want to see as a feature?

photo

The exact same behaviour of NodeJS in cPanel.

photo

I have some question to fully understand what you need in regards to NodeJS apps management.

1. You want to be able to start NodeJS apps which listen to a port on 127.0.0.1.

2. You want to connect to them locally without exposing the apps to public access via Internet.

3. You want to expose the apps to public access so visitors can directly access them via yourdomain.com.

Could you clarify on the above 3 points and also add anything that was missed?

photo

4. run npm install by one click

photo

5. install pm2 and show pm2 watch id

photo

What method would you prefer for the integration?

1. Using Passenger and mod_passenger.

2. Using PM2.

photo

My prefer is keep using apache by the way.
i'm not matter and not know much about this
but need these options:
1. keep service forever.

2. automatic run after reboot, crash.

3. use less resources as possible (for small Machines).

Finaly it's up to you (security, stable, speed and easy to use)
Thank you

photo

Thanks for the feedback. We are reviewing the best options to develop the NodeJS integration in SPanel.

photo

@Vlad 

1. Yes

2.  No

3. Yes

I support the above recommendations about running forever and auto start on crash.

Check what’s the included functionality in “Setup Node.js App”/“Node.js Selector” in cPanel - https://www.a2hosting.com/kb/cpanel/cpanel-software/create-application-with-nodejs-selector

photo

The NodeJS integration was planned and we'll start working on it in the next 4 weeks.

photo

I wish you to allow websocket by default with nodejs
to allow "wss.domain.name" 101 connection and upgrade
Something like this configuration

RewriteEngine on

RewriteCond ${HTTP:Upgrade} websocket [NC]

RewriteCond ${HTTP:Connection} upgrade [NC]

RewriteRule .* "wss:/localhost/$1" [P,L]

Thank you

photo

@Mohamed, our implementation is in progress and you will be able to start a NodeJS application and make it publicly accessible via a domain or a subdomain that points to the server.

photo

So, there is way to deploy an application in NodeJS in SPanel

photo

The NodeJS application manager will be released until the end of this week.

photo

You broke the dead line by another week ;) .. i'm joking.

But we are ready to use nodejs with Spanel
And we know that you are keen to do it in the best way as usual

Thank you

photo

We are working on it and doing final touches before we push the update to production. Thanks for your continued patience :)

photo

This is now available in the latest version of SPanel. All new virtual servers come with the NodeJS Application Manager. Existing servers will be gradually updated in the next 2 weeks.

photo

Hi
Thank you for your support nodejs, after my test i'm asking you to fix some small issues

1- Remove "Path after domain is required" to allow me to use direct domain as it is.

2- Allow access websocket as "wss://domain-name.com" like this example

RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://localhost:3000/$1" [P,L]

3- Add option to run "npm install" from SPanel at the same place with "start/stop, restart, undeploy"

4- Add option to show live log

Thank you


photo

Hi,

Thank you for your valuable feedback!

1. This is a quick fix which will happen today and will get updated on servers in the next 1-2 weeks.

2. We already do that and proxy the APP port to port 80/443 so the NodeJS apps loads via http/https.

3 & 4. You can run those commands via SSH or open a separate feature request for those to be implemented if there is demand for them.

photo

Point number (2):
Could you please check again what i meaning by "Websocket" !!
i'm sure that it's  not available into your configuration

Web socket (Status code:101) not (200)
You are allowing  (http/https) but websocket connecting on (ws/wss) protocols that not supported

You should allow ws/wss with reverse proxy on http/https

RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://localhost:3000/$1" [P,L]

and i think you are using load balancer, so re-correct my code with load balancer

Please fix your configuration to support (ws/wss) and i'm meaning my words.

Thank you

photo
In the current implementation, NodeJS apps will listen to ports on the server proxied to http/https via Apache's mod_proxy. What issues do you face with that setup?
photo

Hello Vlad, i know i have to upload the files via ftp to my vps but is there  an extra configuration i have to make?. Because can't start my application. 

The same files i loaded in cpanel, i upload in spanel but can't start

photo

Fernando, please contact technical support if you need help starting your NodeJS application on SPanel.

Leave a Comment