Node.js

Asynchronous Javascript Framework

Description

Node.js is a cross-platform Javascript runtime environment built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, especially for server-side and networking applications. npm, Nodes package ecosystem is the largest ecosystem of open source libraries in the world.

Included in this Appliance

This appliance includes all standard features and on top of that:

  • Node.js configurations:
    • n Node Version Manager used to install the latest stable version of Node. n supports updating Node to the latest version and switching between multiple older versions:
      # install latest stable node
      n stable
      
      # show all installable versions
      n list
      
      # install specific version
      n <version>
      
    • Support for installing npm packages globally more securely without root or sudo:
      su node
      npm install -g package
      
    • systemd PM2 service at /etc/systemd/system/pm2-node.service runs node apps on boot.pm2 is a production process manager that helps keep your node apps running, supports clustering and makes it easy to manage node apps:
      # su node
      $ pm2 start --max-memory-restart 500M /opt/yourapp/app.js
      $ pm2 stop tklweb-cp
      $ pm2 list
      
    • Default Nginx configuration template:
      server {
          listen 0.0.0.0:80 default_server;
      
          set $nodeapp_port 8000;
          include /etc/nginx/include/nodejs-proxy;
      }
      
    • npm bash tab-completion:
      $ npm in<tab>
      info     init     install
      
    • hundreds of node example apps:
      $ ls /opt/node-examples
      express_example  node-by-example  nodejsbook.io.examples  practicalnode
      
    • Default web page / control panel at /opt/tklweb-cp is itself an example Node.js app built with express and jade templating.
  • Bundled globally-installed Node.js packages:
    • PM2: production process manager. Configured to start on boot as a systemd service.
    • forever: a simple CLI tool for ensuring a node app runs continuously. Supports watching sources for changes and restarting app.
    • node-inspector: a powerful debugger modeled after Chrome devtools.
    • grunt: task runner that automates repetitive tasks like minifcation, compilation, unit testing and linting.
    • bower: package manager for client-side browser dependencies
    • nsp: Node Security Project package auditor. Audits dependencies for known security vulnerabilities:
      cd /opt/yournodeapp
      nsp audit-package
      
  • Postfix MTA (bound to localhost) to allow sending of email (e.g., password recovery).
  • Webmin modules for configuring Postfix.

Usage details & Logging in for Administration

No default passwords: For security reasons there are no default passwords. All passwords are set at system initialization time.

Ignore SSL browser warning: browsers don’t like self-signed SSL certificates, but this is the only kind that can be generated automatically without paying a commercial Certificate Authority.

Web – point your browser at either:

  1. http://12.34.56.789/ – not encrypted so no browser warning
  2. https://12.34.56.789/ – encrypted with self-signed SSL certificate

Username for OS system administration:

Login as root

  1. Point your browser to:
  2. Login with SSH client:
    ssh [email protected]
    

* Replace 12.34.56.789 with a valid IP or hostname.

Bamboozle-Marketplace-nodeJS

Support Details

Supported By: Bamboozle
License: GNU AGPL v3

 

More  Links

Documentation: Technical overviews, how-tos, release notes, and support material

Tutorials: DevOps and development guidelines

AskCommunity: Connect, share and learn

More Marketplace Apps

mariaDB: The leading OpenSource Database

Mattermost: The best and secure Slack Alternative

Check out our marketplace for more apps.

Create your NodeJS Appliance

Deploys instantly. 2 month free with annual plans.