NodeJS is an application which can be compared to a Java Virtual Machine but for Javascript instead. It is available for most operating systems on a wide range of platforms and it is a stable product with more and more features, versions after versions. It runs with just one single thread, like in browsers, but, with heavy use of events and callback functions, multitasking becomes possible.
There are various APIs to access resources such as "File System", "Net", "HTTP",... so it can be used to build complex applications without user interface, except in command line.
NodeJS also comes with its own native basic HTTP server: no complex configuration for security or performance but an ideal approach for small, dedicated, even not necessarily local, web servers listening to one different port each.
NodeJS can easily be extended using a package manager such as "npm". Unfortunately, using external packages creates multiple dependencies with potential support issues. Using "famous" packages can result as a lazy way to program basic operations with a lot of extra useless features and can slow execution. A good portable solution has to minimize external packages use.