Binary Deployment (NodePassDash)
January 17, 2026 ยท View on GitHub
This guide deploys NodePassDash as a native binary on a server (recommended for VPS / systemd environments).
Requirements
- Linux x86_64 / arm64 (other platforms may be available in Releases)
- A working directory to persist
db/andlogs/
Option A: Install Script (Recommended)
NodePassDash provides an installation script in this repo: scripts/install.sh.
curl -fsSL https://raw.githubusercontent.com/NodePassProject/NodePassDash/main/scripts/install.sh | bash
If you prefer to inspect it first:
wget https://raw.githubusercontent.com/NodePassProject/NodePassDash/main/scripts/install.sh
chmod +x install.sh
./install.sh
Option B: Manual Install (Releases)
- Download the archive from GitHub Releases and extract it.
- Put the
nodepassdashbinary in a directory, for example:/opt/nodepassdash/bin/nodepassdash. - Run from the working directory so
db/andlogs/are created next to it:
cd /opt/nodepassdash
./bin/nodepassdash --port 3000
Systemd Example
Create /etc/systemd/system/nodepassdash.service:
[Unit]
Description=NodePassDash
After=network.target
Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=/opt/nodepassdash
ExecStart=/opt/nodepassdash/bin/nodepassdash --port 3000
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable --now nodepassdash
sudo systemctl status nodepassdash --no-pager
First Login / Reset Password
- First start prints initial admin credentials in logs (
journalctl -u nodepassdash -n 200). - Reset admin password:
/opt/nodepassdash/bin/nodepassdash --resetpwd
sudo systemctl restart nodepassdash
HTTPS (TLS)
Provide cert and key:
/opt/nodepassdash/bin/nodepassdash --port 443 --cert /path/to/cert.pem --key /path/to/key.pem
In production, you can also keep NodePassDash on an internal port and place it behind Nginx/Caddy.
CLI Flags
NodePassDash supports various command-line flags to configure service behavior:
Basic Options
--port <number>: Specify HTTP service port (default: 3000)--log-level <level>: Set log level (DEBUG, INFO, WARN, ERROR)--versionor-v: Display version information
TLS/HTTPS
--cert <path>: Path to TLS certificate file--key <path>: Path to TLS private key file
Authentication
--disable-login: Disable username/password login, only allow OAuth2 login--resetpwd: Reset admin password
Debugging & Logging
--sse-debug-log: Enable SSE message debug logging--disable-sse-log: Disable SSE log recording to files (recommended when disk space is limited)
Environment Variable Support
The following parameters can also be configured via environment variables (command-line flags take precedence):
PORT: Service portLOG_LEVEL: Log levelTLS_CERT: TLS certificate pathTLS_KEY: TLS private key pathDISABLE_LOGIN: Disable password login (set totrueor1to enable)SSE_DEBUG_LOG: SSE debug logging (set totrueor1to enable)DISABLE_SSE_LOG: Disable SSE log files (set totrueor1to enable)
Examples:
# Using command-line flags
./bin/nodepassdash --port 3000 --disable-sse-log
# Using environment variables
export PORT=3000
export DISABLE_SSE_LOG=true
./bin/nodepassdash
About SSE Log Recording
By default, NodePassDash records tunnel SSE event logs to files in the logs/ directory for later viewing and debugging. If your server has limited disk space or you don't need to keep these logs long-term, you can use the --disable-sse-log flag to disable file recording.
Note: When disabled, SSE logs will still be pushed to the frontend in real-time, but won't be saved to files.
Upgrade
- If installed via script, re-run the script update command if available in your installation.
- If installed manually, replace the binary with the new release, then restart the service.
Uninstall
If installed via script, use the uninstall option:
./install.sh uninstall