Skip to content

creatorsofcode/nodeadmin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contact or Donate

npm

NodeAdmin Panel

Modern Node.js hosting panel with Express, Next.js, MariaDB, PM2 and Apache reverse proxy support.

Ubuntu live deployment

Run the installer as root inside the project directory:

sudo APP_DOMAIN=admin.creatorsofcode.com bash scripts/install.sh

Optional environment overrides:

sudo APP_DOMAIN=admin.creatorsofcode.com API_PORT=4000 FRONTEND_PORT=3000 DB_NAME=nodeadmin DB_USER=nodeadmin DB_PASSWORD='strong-password' CERTBOT_EMAIL='admin@creatorsofcode.com' bash scripts/install.sh

What the installer does:

  • installs Node.js, Apache, MariaDB, Certbot and PM2
  • creates the MariaDB database and user
  • copies .env.example to .env when needed
  • switches URLs to production values
  • runs Prisma generate, schema push, seed and both builds
  • writes Apache reverse proxy config from apache/templates/nodeadmin.conf.template
  • writes HTTPS Apache reverse proxy config from apache/templates/nodeadmin-ssl.conf.template
  • keeps www. alias optional so certbot does not fail when only one hostname exists in DNS
  • can ask for domain and Certbot email interactively
  • can request the Let's Encrypt certificate automatically during install
  • starts backend and frontend with PM2 using ecosystem.config.cjs

Zero-touch install example

sudo APP_DOMAIN=admin.creatorsofcode.com CERTBOT_EMAIL='admin@creatorsofcode.com' ENABLE_CERTBOT=1 WWW_ALIAS=0 bash scripts/install.sh

If you omit APP_DOMAIN, CERTBOT_EMAIL, or ENABLE_CERTBOT, the installer can ask interactively.

PM2 commands

Start:

pm2 start ecosystem.config.cjs --env production

Restart:

pm2 restart ecosystem.config.cjs --env production

Logs:

pm2 logs

Deploy updated code:

bash scripts/deploy.sh

Deploy with schema push and seed:

RUN_MIGRATIONS=1 RUN_SEED=1 bash scripts/deploy.sh

Check a broken live server:

bash scripts/check-live.sh admin.creatorsofcode.com

Apache routing

  • / -> Next.js frontend on 127.0.0.1:3000
  • /api -> Express backend on 127.0.0.1:4000
  • /socket.io -> Socket.IO backend on 127.0.0.1:4000
  • /health -> backend health endpoint

SSL

Installer can request the certificate automatically. If you skip it during install, run this later:

sudo systemctl stop apache2
sudo certbot certonly --standalone -d admin.creatorsofcode.com -m admin@creatorsofcode.com --agree-tos --non-interactive
sudo systemctl start apache2
sudo a2ensite nodeadmin-panel-ssl.conf
sudo systemctl reload apache2

Important

Replace default secrets in .env before exposing the panel publicly.

About

NodeAdmin is a lightweight Node.js admin and control panel system designed for managing server-side applications, APIs, and automation workflows through a centralized dashboard.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors