Node.js
Introduction
Warning
Node.js scripts belong in your :doc:`home <basics-home>`, not in your :doc:`docroot <web-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 available versions are listed below.
Standard version
If you don't select a certain version, our default will be used. We decided to default to version 18, which is considered to be stable by the developers.
Show available versions
Use uberspace tools version list node
to show all selectable versions:
[isabell@stardust ~]$ uberspace tools version list node
- 12
- 14
- 16
- 18
- 19
[isabell@stardust ~]$
Change version
You can select the Node.js version with uberspace tools version use node <version>
. You can choose between release branches:
[isabell@stardust ~]$ uberspace tools version use node 14
Selected node version 14
The new configuration is adapted immediately. Patch updates will be applied automatically.
[isabell@stardust ~]$
Selected version
You can check the selected version by executing uberspace tools version show node
on the command line:
[isabell@stardust ~]$ uberspace tools version show node
Using 'node' version: '19'
[isabell@stardust ~]$
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 |
---|---|---|
12 | EOL | April 2022 |
14 | Maintenance | April 2023 |
16 | Active | September 2023 |
18 | Current | April 2025 |
19 | Current | June 2023 |
Run node application in the background
To run your node application in the background we use supervisord.
Assuming your application files are located in the sub folder ~/my-node-app
of your home directory.
Then place a daemon service file called my-daemon.ini
in ~/etc/services.d/
:
[program:my-daemon]
directory=/home/isabell/my-node-app
command=npm run start
autostart=true
autorestart=true
environment=NODE_ENV=production
Start / Stop node daemon
Connection to webserver
Available package managers
npm
npm
, or the node package manager, is used to install and manage additional packages. We have preconfigured npm
to install packages to your :doc:`home <basics-home>` when using the global (-g
) option.
yarn
yarn
is an alternative node package manager. It is used to install and manage additional packages of your node application.
npx
You can use npx
to quickly execute and test any npm
package without the need to create a nodejs project around it. Check out nodejs.dev to learn more.
Popular software
Check out the