npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@creatorsofocode/nodewizard

v1.0.1

Published

Control-panel installer demo and helper API for developers managing hosting and networking stacks.

Downloads

60

Readme

NodeWizard

Control-panel style installer demo and helper API for developers managing hosting and networking stacks, with default seeded data and a guided install flow.

Package name on npm: @creatorsofocode/nodewizard

Live test server: https://nodewizard.online

Demo credentials:

  • Username: admin
  • Password: NodeWizard!2026

Features

  • Guided installer UI with a control-panel style layout
  • Demo catalog for hosting, networking, and private cloud profiles
  • Seeded tenant data, sample services, network presets, and install defaults
  • Simulated install jobs with live progress polling
  • Session-based helper API for login, system status, service control, and install jobs
  • Public test target at nodewizard.online with the same seeded admin account
  • Basic API smoke tests using Node's built-in test runner

Live Demo

Use the hosted test server if you want to validate the same flow without starting the package locally:

  • URL: https://nodewizard.online
  • Username: admin
  • Password: NodeWizard!2026

The hosted instance is useful for quick UI checks, install flow testing, and verifying the helper API responses against a live deployment.

Install

Option 1: Run directly from npm

npx @creatorsofocode/nodewizard

This starts the local demo server on port 3001 by default.

After startup, sign in with:

  • Username: admin
  • Password: NodeWizard!2026

Option 2: Install globally

npm install -g @creatorsofocode/nodewizard
nodewizard

Option 3: Run from source

git clone https://github.com/creatorsofcode/nodewizard.git
cd nodewizard
npm install
npm start

Open http://localhost:3001.

The wizard now runs locally without redirecting to a panel hostname. You can enter a public hostname later in the install flow when the system is ready.

Use the seeded admin account on local runs and on nodewizard.online:

  • Username: admin
  • Password: NodeWizard!2026

How To Use

  1. Open the app in your browser at http://localhost:3001.
  2. Enter the company name, admin email, hostname, and preferred install mode.
  3. Choose a platform profile such as hosting, network edge, or private cloud.
  4. Select the services you want enabled for the demo deployment.
  5. Pick the network preset, IP pool, and DNS mode.
  6. Review the generated configuration summary.
  7. Start the simulated install and watch the live progress panel update.

Configuration

  • PORT: overrides the default server port 3001.
  • HOST: overrides the default bind address 0.0.0.0.

When PORT is not set, NodeWizard uses:

  • 3001 for local development
  • 80 for production-style runs such as NODE_ENV=production or when DEFAULT_HOSTNAME is a public hostname

Example:

PORT=4010 npx @creatorsofocode/nodewizard

On PowerShell:

$env:PORT=4010
npx @creatorsofocode/nodewizard

Developer Helper API

NodeWizard also works as a lightweight helper API for frontend and deployment tooling. Authentication uses the seeded session account and stores a cookie after login.

Base URLs:

  • Local: http://localhost:3001
  • Hosted test server: https://nodewizard.online

Main endpoints:

  • GET /api/health - health check
  • GET /api/session - current authentication state
  • POST /api/login - create a session
  • POST /api/logout - clear a session
  • GET /api/demo-data - installer catalog and defaults
  • GET /api/system - system snapshot, cooldown, recent jobs, services
  • POST /api/system/maintenance - toggle maintenance mode
  • POST /api/system/services/:serviceId - change a service status
  • POST /api/install - create a simulated install job
  • GET /api/install/:jobId - poll install progress

Example login with curl:

curl -c cookies.txt -X POST https://nodewizard.online/api/login \
	-H "Content-Type: application/json" \
	-d '{"username":"admin","password":"NodeWizard!2026"}'

Fetch system state after login:

curl -b cookies.txt https://nodewizard.online/api/system

Start an install job:

curl -b cookies.txt -X POST https://nodewizard.online/api/install \
	-H "Content-Type: application/json" \
	-d '{"hostname":"nodewizard.online","serviceIds":["nginx","dns","monitoring"]}'

The install endpoint enforces a 1-minute cooldown after each job. When a second install is attempted too early, the API returns 409 Conflict and includes installCooldownRemainingMs.

VPS Deployment

For a public hostname such as nodewizard.online, start the app in production mode so it binds on port 80 unless you explicitly override PORT:

NODE_ENV=production npm start

If you terminate TLS with Nginx or Apache, point the reverse proxy to the NodeWizard process port and keep app.set('trust proxy', true) enabled.

Recommended Linux setup

The repository includes deployment assets in deploy/ for a safer production layout:

  • deploy/nodewizard.service: systemd unit
  • deploy/nodewizard.env.example: environment file template
  • deploy/nodewizard.nginx.conf: Nginx reverse proxy for nodewizard.online

Recommended layout on the VPS:

/var/www/nodewizard
/etc/nodewizard/nodewizard.env
/etc/systemd/system/nodewizard.service
/etc/nginx/sites-available/nodewizard.online.conf

Setup steps:

sudo useradd --system --create-home --home-dir /var/www/nodewizard --shell /usr/sbin/nologin nodewizard
sudo mkdir -p /var/www/nodewizard /etc/nodewizard /var/www/certbot
sudo chown -R nodewizard:nodewizard /var/www/nodewizard

cd /var/www/nodewizard
npm install --production

sudo cp deploy/nodewizard.env.example /etc/nodewizard/nodewizard.env
sudo cp deploy/nodewizard.service /etc/systemd/system/nodewizard.service
sudo cp deploy/nodewizard.nginx.conf /etc/nginx/sites-available/nodewizard.online.conf
sudo ln -sf /etc/nginx/sites-available/nodewizard.online.conf /etc/nginx/sites-enabled/nodewizard.online.conf
sudo rm -f /etc/nginx/sites-enabled/default

sudo systemctl daemon-reload
sudo systemctl enable --now nodewizard
sudo nginx -t
sudo systemctl reload nginx

The included service runs NodeWizard on 127.0.0.1:3001 and lets Nginx handle public traffic on 80/443.

Firewall

If the server uses UFW:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

If the server uses firewalld:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

TLS certificate

After Nginx is serving the port 80 vhost, issue a certificate:

sudo certbot --nginx -d nodewizard.online -d www.nodewizard.online

Health checks

curl -I http://127.0.0.1:3001/api/health
systemctl status nodewizard
journalctl -u nodewizard -n 100 --no-pager
curl -I http://nodewizard.online
curl -I https://nodewizard.online

Current hosted checks verified during deployment:

  • https://nodewizard.online returns 200
  • http://nodewizard.online redirects to HTTPS
  • https://nodewizard.online/api/health returns {"status":"ok"}

What Gets Installed

The package ships the local web server, demo data, public client assets, and source files required to run the guided installer demo and its helper API endpoints.

Development

npm install
npm test
npm start

Test

npm test