Deployment
Prerequisites
- Node.js 20 LTS or later
- systemd-based Linux distribution (Ubuntu, Debian, RHEL, etc.)
Installation
1. Create service user
sudo useradd --system --no-create-home --shell /usr/sbin/nologin superdash2. Deploy application
sudo mkdir -p /opt/superdashsudo cp -r . /opt/superdash/sudo chown -R superdash:superdash /opt/superdash3. Install dependencies
cd /opt/superdashsudo -u superdash npm ci --production4. Configure
sudo -u superdash cp config.example.json config.jsonsudo -u superdash nano config.json # Edit as needed5. Install systemd unit
sudo cp deploy/superdash.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl enable superdashsudo systemctl start superdashManagement
# Check statussudo systemctl status superdash
# View logssudo journalctl -u superdash -f
# Restart after config changesudo systemctl restart superdash
# Stop servicesudo systemctl stop superdashFirewall
If using UFW:
sudo ufw allow 3050/tcp # HTTP + WebSocketsudo ufw allow 9000/tcp # Ember+ (if needed externally)Updating
cd /opt/superdashsudo systemctl stop superdashsudo -u superdash git pullsudo -u superdash npm ci --productionsudo systemctl start superdashTroubleshooting
Service fails to start
Check logs:
sudo journalctl -u superdash -n 50 --no-pagerCommon issues:
- Missing
config.json— copy from example - Port already in use — check with
ss -tlnp | grep 3050 - Permission denied — verify ownership of
/opt/superdash
Connection refused
Verify service is running and listening:
sudo systemctl status superdashcurl http://localhost:3050/health