Installation Issues
Common installation problems and solutions.
Solutions to common problems during Supascale installation.
Prerequisites Check Failed
Node.js Version Too Old
Error:
Node.js 18+ is required
Solution:
# Check current version node --version # Install Node.js 18+ using nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 18 nvm use 18
Docker Not Running
Error:
Docker is not running
Solution:
# Start Docker service sudo systemctl start docker # Verify Docker is running docker ps # Enable Docker to start on boot sudo systemctl enable docker
Docker Compose Not Found
Error:
Docker Compose is required
Solution:
# Docker Compose V2 (recommended) docker compose version # If using older Docker Compose V1 sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
Installation Script Failures
Permission Denied
Error:
Permission denied: install.sh
Solution:
chmod +x install.sh ./install.sh
Git Clone Failed
Error:
fatal: destination path already exists
Solution:
# Remove existing directory rm -rf supascale-web # Or use a different install location INSTALL_DIR=/opt/supascale ./install.sh
npm Install Failed
Error:
npm ERR! code EACCES
Solution:
# Fix npm permissions sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules # Or use nvm (recommended) nvm use 18
Build Failed
Error:
Build failed with exit code 1
Solution:
# Check available memory free -m # If memory is low, add swap sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # Retry installation ./install.sh
Database Issues
SQLite Database Locked
Error:
SQLITE_BUSY: database is locked
Solution:
# Stop all Supascale processes pm2 stop supascale-web # Check for other processes using the database lsof data/supascale.db # Kill any orphan processes pkill -f supascale # Restart pm2 start supascale-web
Database Corruption
Error:
SQLITE_CORRUPT: database disk image is malformed
Solution:
# Stop application pm2 stop supascale-web # Backup current database cp data/supascale.db data/supascale.db.backup # Try to recover sqlite3 data/supascale.db ".recover" | sqlite3 data/supascale-recovered.db # If recovery works mv data/supascale-recovered.db data/supascale.db # Restart pm2 start supascale-web
PM2 Issues
PM2 Not Found
Error:
pm2: command not found
Solution:
# Install PM2 globally npm install -g pm2 # Verify installation pm2 --version
Application Not Starting
Error:
PM2 process errored
Solution:
# Check PM2 logs pm2 logs supascale-web --lines 100 # Check for port conflicts netstat -tlnp | grep 3000 # Kill conflicting process kill $(lsof -t -i:3000) # Restart application pm2 restart supascale-web
PM2 Startup Not Persisting
Problem: Application doesn't start after server reboot.
Solution:
# Generate startup script pm2 startup # Follow the command it outputs (run as root) sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u $USER --hp $HOME # Save current process list pm2 save
Environment Variable Issues
Missing NEXTAUTH_SECRET
Error:
Error: NEXTAUTH_SECRET is not set
Solution:
# Generate a secure secret openssl rand -base64 32 # Add to .env file echo "NEXTAUTH_SECRET=$(openssl rand -base64 32)" >> .env
Invalid DB_ENCRYPTION_KEY
Error:
DB_ENCRYPTION_KEY must be 64 hex characters
Solution:
# Generate a valid encryption key openssl rand -hex 32 # Add to .env file echo "DB_ENCRYPTION_KEY=$(openssl rand -hex 32)" >> .env
Port Conflicts
Port 3000 Already in Use
Error:
Error: listen EADDRINUSE: address already in use :::3000
Solution:
# Find process using port 3000 lsof -i :3000 # Kill the process kill -9 $(lsof -t -i:3000) # Or change the port in .env echo "PORT=3001" >> .env
Network Issues
Cannot Connect to Supascale
Problem: Browser shows connection refused.
Checklist:
Check if application is running:
pm2 status
Check firewall rules:
sudo ufw status sudo ufw allow 3000
Check if listening on correct interface:
netstat -tlnp | grep 3000
If using reverse proxy, check its configuration
Getting Help
If issues persist:
Check logs:
pm2 logs supascale-web --lines 200
Enable debug mode:
DEBUG=* pm2 restart supascale-web
Report issues: Include log output, system info, and steps to reproduce.