Node.js

Introduction

Warning

Node.js scripts belong in your Home Directory, not in your DocumentRoot.

Node.js is a server-side JavaScript interpreter. Node.js is commonly used to develop server-based applications, i.e. the scripts bind to a network port.


Versions

Release types

We provide different releases and apply security updates on a regular basis. Currently, these Node.js versions are available: 6, 8, 9 and 10.

Standard version

If you don’t select a certain version, our default will be used. We decided to default to version 8, which is considered to be stable by the developers.

Show available versions

Use uberspace tools version list node to show all selectable versions:

[eliza@dolittle ~]$ uberspace tools version list node
- 6
- 8
- 9
- 10
[eliza@dolittle ~]$

Change version

You can select the Node.js version with uberspace tools version use node <version>. You can choose between release branches:

[eliza@dolittle ~]$ uberspace tools version use node 6
Selected node version 6
The new configuration is adapted immediately. Patch updates will be applied automatically.
[eliza@dolittle ~]$
[eliza@dolittle ~]$ uberspace tools version use node 10
Selected node version 10
The new configuration is adapted immediately. Patch updates will be applied automatically.
[eliza@dolittle ~]$

Selected version

You can check the selected version by executing uberspace tools version show node on the command line:

[eliza@dolittle ~]$ uberspace tools version show node
Using 'node' version: '8
[eliza@dolittle ~]$

Update policy

We update all versions on a regular basis. Once the support ends, the branch reaches its end of life (EOL), is no longer supported and will be removed from our servers. Even-numbered versions are long-term support (LTS) versions.

Branch State Supported Until
6 Maintenance LTS April 2019
8 LTS December 2019
9 EOL June 2018
10 LTS April 2021

Connection to webserver

In order to make your Node.js application accessable from the outside, you need to connect it to the webserver. This is done using a proxy RewriteRule to forward requests to the application’s network port. For example, if your application is listening on port 61624 and you want it to be accessable at https://<user>.uber.space/nodejs/, place an .htaccess file looking like this in your DocumentRoot:

RewriteEngine On
RewriteRule ^nodejs/(.*) http://localhost:61624/$1 [P]

Note

Apache 2.4 will add the DirectoryIndex (index.html) to all requests without a folder or file name. To avoid this, add DirectoryIndex disabled to your .htaccess


npm

npm, or the node package manager, is used to install and manage additional packages. We have preconfigured npm to install packages to your Home Directory when using the global (-g) option.