Skip to content

Installation Guide

Casey Barnett edited this page Apr 29, 2025 · 2 revisions

Installation Guide 🚧

Welcome to the StatusZERO Installation Guide. This page will walk you through deploying StatusZERO on your server and getting it operational in minutes.


✅ Requirements

  • Node.js (v18 or newer)
  • npm or yarn
  • A Linux server or container (Ubuntu/Debian recommended)
  • Port 3000 open (or specify another port via CLI)

Optional:

  • A reverse proxy (e.g., NGINX or Caddy) for HTTPS

🏑 Quick Start

Clone the repo:

git clone https://github.com/TCFVentures/status-zero.git
cd status-zero

Install dependencies:

npm install
# or
yarn install

Run the setup command (defaults to port 3000):

npm run setup

To specify a different port:

npm run setup 8080

Once complete, visit http://your-server-ip:3000 (or your specified port).


⛑️ Admin Token

To perform actions like adding or removing IPs from the web UI, you will need to use the Admin Token.

  • Default token is generated and stored in .env
  • To rotate it, edit the token manually

Keep your token safe! It is the only form of authentication currently implemented.


🔧 Reverse Proxy Example (NGINX)

Here's a simple NGINX config to reverse proxy StatusZERO behind HTTPS:

server {
    listen 80;
    server_name statuszero.example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Use Let's Encrypt or a wildcard cert to secure it with HTTPS.


🪽 Common Issues

  • Port already in use: Change the port when running setup, or free the conflicting process.
  • Missing dependencies: Ensure Node.js v18+ and npm/yarn are installed.
  • Token not accepted: Ensure there's no whitespace or newline when pasting it.

✨ You're Ready!

Once deployed, start adding IPs and let StatusZERO monitor your DNSBL footprint.

For more options, visit the Advanced Configuration page.

Happy monitoring! 🛡️

Clone this wiki locally