Common issues and solutions.
# Test SSH connection manually
ssh -p 22 user@your-server
# Check SSH is running on server
sudo systemctl status sshd# Check key permissions
chmod 600 ~/.ssh/id_rsa
# Verify key is added
ssh-copy-id user@your-server# Remove old host key
ssh-keygen -R your-server-ip
# Add new key
ssh-keyscan -H your-server-ip >> ~/.ssh/known_hosts# Check disk space on server
ssh user@server "df -h"
# Clean old releases
ssh user@server "rm -rf /var/www/myapp/releases/*"# Check package.json has build script
cat package.json | grep '"build"'
# Test build locally
npm run build
# Skip build on deploy
shipnode deploy --skip-build# Test health endpoint on server
ssh user@server "curl localhost:3000/health"
# Check app is running
ssh user@server "pm2 list"
# View logs
shipnode logs# Check what's using the port
ssh user@server "sudo lsof -i :3000"
# Change port in shipnode.conf
BACKEND_PORT=3001
# Or kill the process
ssh user@server "pm2 stop all"# Clear deployment lock
shipnode unlock
# Or manually
ssh user@server "rm -f /var/www/myapp/.shipnode/deploy.lock"# Install PM2 on server
shipnode setup
# Or manually
ssh user@server "npm install -g pm2"# Check error logs
shipnode logs
# Restart with clean state
shipnode restart
# Check memory limits
pm2 list# Start manually
ssh user@server "cd /var/www/myapp/current && pm2 start ecosystem.config.cjs"
# Check ecosystem config
cat /var/www/myapp/shared/ecosystem.config.cjs# Check Caddy is running
ssh user@server "sudo systemctl status caddy"
# Check domain DNS
dig your-domain.com
# View Caddy logs
ssh user@server "sudo tail -f /var/log/caddy/"# Check Caddy config
ssh user@server "cat /var/www/myapp/shared/Caddyfile"
# Reload Caddy
ssh user@server "sudo caddy reload"# Verify template exists
ls -la .shipnode/templates/
# Check template resolution
shipnode config
# Reset to defaults
rm .shipnode/templates/ecosystem.config.cjs
rm .shipnode/templates/Caddyfile.caddy# Run with debug output
shipnode deploy --debug
# Check shipnode.conf
shipnode config
# Validate config
shipnode config validate
# Run doctor
shipnode doctor- Check this troubleshooting guide
- Run
shipnode doctor - Check
shipnode logs - Search issues
- Open a new issue with logs