@creatorsofocode/nodewizard
v1.0.1
Published
Control-panel installer demo and helper API for developers managing hosting and networking stacks.
Downloads
60
Maintainers
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.onlinewith 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/nodewizardThis 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
nodewizardOption 3: Run from source
git clone https://github.com/creatorsofcode/nodewizard.git
cd nodewizard
npm install
npm startOpen 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
- Open the app in your browser at
http://localhost:3001. - Enter the company name, admin email, hostname, and preferred install mode.
- Choose a platform profile such as hosting, network edge, or private cloud.
- Select the services you want enabled for the demo deployment.
- Pick the network preset, IP pool, and DNS mode.
- Review the generated configuration summary.
- Start the simulated install and watch the live progress panel update.
Configuration
PORT: overrides the default server port3001.HOST: overrides the default bind address0.0.0.0.
When PORT is not set, NodeWizard uses:
3001for local development80for production-style runs such asNODE_ENV=productionor whenDEFAULT_HOSTNAMEis a public hostname
Example:
PORT=4010 npx @creatorsofocode/nodewizardOn PowerShell:
$env:PORT=4010
npx @creatorsofocode/nodewizardDeveloper 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 checkGET /api/session- current authentication statePOST /api/login- create a sessionPOST /api/logout- clear a sessionGET /api/demo-data- installer catalog and defaultsGET /api/system- system snapshot, cooldown, recent jobs, servicesPOST /api/system/maintenance- toggle maintenance modePOST /api/system/services/:serviceId- change a service statusPOST /api/install- create a simulated install jobGET /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/systemStart 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 startIf 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 unitdeploy/nodewizard.env.example: environment file templatedeploy/nodewizard.nginx.conf: Nginx reverse proxy fornodewizard.online
Recommended layout on the VPS:
/var/www/nodewizard
/etc/nodewizard/nodewizard.env
/etc/systemd/system/nodewizard.service
/etc/nginx/sites-available/nodewizard.online.confSetup 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 nginxThe 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 statusIf 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-allTLS certificate
After Nginx is serving the port 80 vhost, issue a certificate:
sudo certbot --nginx -d nodewizard.online -d www.nodewizard.onlineHealth 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.onlineCurrent hosted checks verified during deployment:
https://nodewizard.onlinereturns200http://nodewizard.onlineredirects to HTTPShttps://nodewizard.online/api/healthreturns{"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 startTest
npm test