Skip to content

Commit a4e562a

Browse files
authored
Merge pull request #106 from exyezed/main
feat: upgrade Node.js from v18 to v22 LTS via nvm
2 parents 579483d + ddbe102 commit a4e562a

1 file changed

Lines changed: 16 additions & 35 deletions

File tree

install.sh

Lines changed: 16 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,68 @@
11
#!/bin/bash
2-
32
set -e
4-
53
echo "================================"
64
echo " StreamFlow Quick Installer "
75
echo "================================"
86
echo
9-
107
read -p "Mulai instalasi? (y/n): " -n 1 -r
118
echo
129
[[ ! $REPLY =~ ^[Yy]$ ]] && echo "Instalasi dibatalkan." && exit 1
13-
1410
echo "🔄 Updating sistem..."
1511
sudo apt update && sudo apt upgrade -y
16-
17-
# Check dan install Node.js (minimal v18)
18-
if command -v node &> /dev/null; then
19-
NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
20-
if [ "$NODE_VERSION" -ge 18 ]; then
21-
echo "✅ Node.js sudah terinstall ($(node -v)), skip..."
22-
else
23-
echo "⚠️ Node.js versi $(node -v) terlalu lama, upgrade ke v18..."
24-
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
25-
sudo apt-get install -y nodejs
26-
fi
27-
else
28-
echo "📦 Installing Node.js v18..."
29-
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
30-
sudo apt-get install -y nodejs
31-
fi
32-
33-
# Check dan install FFmpeg
12+
echo "📦 Installing nvm (Node Version Manager)..."
13+
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
14+
export NVM_DIR="$HOME/.nvm"
15+
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
16+
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
17+
echo "📦 Installing Node.js LTS terbaru..."
18+
nvm install --lts
19+
nvm use --lts
20+
nvm alias default 'lts/*'
21+
echo "✅ Node.js $(node -v) berhasil diinstall"
3422
if command -v ffmpeg &> /dev/null; then
3523
echo "✅ FFmpeg sudah terinstall, skip..."
3624
else
3725
echo "🎬 Installing FFmpeg..."
3826
sudo apt install ffmpeg -y
3927
fi
40-
41-
# Check dan install Git
4228
if command -v git &> /dev/null; then
4329
echo "✅ Git sudah terinstall, skip..."
4430
else
45-
echo "🎬 Installing Git..."
31+
echo "🔧 Installing Git..."
4632
sudo apt install git -y
4733
fi
48-
4934
echo "📥 Clone repository..."
5035
git clone https://github.com/bangtutorial/streamflow
5136
cd streamflow
52-
5337
echo "⚙️ Installing dependencies..."
5438
npm install
5539
npm run generate-secret
56-
5740
echo "🕐 Setup timezone ke Asia/Jakarta..."
5841
sudo timedatectl set-timezone Asia/Jakarta
59-
6042
echo "🔧 Setup firewall..."
6143
sudo ufw allow ssh
6244
sudo ufw allow 7575
6345
sudo ufw --force enable
64-
65-
# Check dan install PM2
6646
if command -v pm2 &> /dev/null; then
6747
echo "✅ PM2 sudah terinstall, skip..."
6848
else
6949
echo "🚀 Installing PM2..."
70-
sudo npm install -g pm2
50+
npm install -g pm2
7151
fi
72-
52+
export PATH="$NVM_DIR/versions/node/$(nvm current)/bin:$PATH"
7353
echo "▶️ Starting StreamFlow..."
7454
pm2 start app.js --name streamflow
7555
pm2 save
76-
56+
pm2 startup | tail -1 | bash || true
7757
echo
7858
echo "================================"
7959
echo "✅ INSTALASI SELESAI!"
8060
echo "================================"
81-
8261
SERVER_IP=$(curl -s ifconfig.me 2>/dev/null || echo "IP_SERVER")
8362
echo
8463
echo "🌐 URL Akses: http://$SERVER_IP:7575"
64+
echo "📦 Node.js: $(node -v)"
65+
echo "📦 npm: $(npm -v)"
8566
echo
8667
echo "📋 Langkah selanjutnya:"
8768
echo "1. Buka URL di browser"

0 commit comments

Comments
 (0)