StreamFlow adalah aplikasi live streaming yang memungkinkan kamu melakukan live streaming ke berbagai platform seperti YouTube, Facebook, dan platform lainnya menggunakan protokol RTMP. Aplikasi ini dapat berjalan di VPS (Virtual Private Server) dan mendukung streaming ke banyak platform secara bersamaan.
- Multi-Platform Streaming - Streaming ke berbagai platform populer secara bersamaan
- Video Gallery - Kelola koleksi video dengan antarmuka yang intuitif
- Upload Video - Upload dari local storage atau import langsung dari Google Drive
- Scheduled Streaming - Jadwalkan streaming dengan pengaturan waktu yang fleksibel
- Advanced Settings - Kontrol penuh untuk bitrate, resolusi, FPS, dan orientasi video
- Real-time Monitoring - Monitor status streaming dengan dashboard real-time
- Video Analytics - Pantau statistik dan performa video langsung dari aplikasi
- Responsive UI - Antarmuka modern yang responsif di semua perangkat
- Node.js v20 atau versi terbaru
- FFmpeg untuk video processing
- SQLite3 (sudah termasuk dalam package)
- VPS/Server dengan minimal 1 Core CPU & 1GB RAM
- Port 7575 (dapat disesuaikan di file .env)
Untuk instalasi otomatis, jalankan perintah berikut:
curl -o install.sh https://raw.githubusercontent.com/bangtutorial/streamflow/main/install.sh && chmod +x install.sh && ./install.shUpdate sistem operasi:
sudo apt update && sudo apt upgrade -yInstall Node.js:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejsVerifikasi instalasi Node.js:
node --version
npm --versionInstall FFmpeg:
sudo apt install ffmpeg -yVerifikasi instalasi FFmpeg:
ffmpeg -versionInstall Git:
sudo apt install git -yClone repository:
git clone https://github.com/bangtutorial/streamflowMasuk ke direktori project:
cd streamflowInstall Paket Node.JS:
npm installGenerate Secret Key:
node generate-secret.jsKonfigurasi port (opsional):
nano .envJalankan aplikasi:
npm run devPENTING: Buka port SSH terlebih dahulu untuk menghindari terputusnya koneksi!
Buka port SSH (biasanya port 22):
sudo ufw allow ssh
# atau jika menggunakan port custom SSH
# sudo ufw allow [PORT_SSH_ANDA]Buka port aplikasi (default: 7575):
sudo ufw allow 7575Verifikasi aturan firewall sebelum mengaktifkan:
sudo ufw status verboseAktifkan firewall:
sudo ufw enableVerifikasi status firewall setelah aktif:
sudo ufw statusInstall PM2 untuk mengelola aplikasi:
sudo npm install -g pm2Jalankan aplikasi dengan PM2:
pm2 start app.js --name streamflowSetup Auto-Restart saat Server Reboot:
# Simpan konfigurasi PM2 saat ini
pm2 save
# Setup PM2 untuk auto-start saat server restart
pm2 startup
# Ikuti instruksi yang muncul, biasanya berupa command yang harus dijalankan dengan sudo
# Contoh output: sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u username --hp /home/username
# Setelah menjalankan command startup, save kembali
pm2 savePerintah PM2 Berguna:
# Lihat status aplikasi
pm2 status
# Restart aplikasi
pm2 restart streamflow
# Stop aplikasi
pm2 stop streamflow
# Lihat logs aplikasi
pm2 logs streamflow
# Monitor resource usage
pm2 monitAkses aplikasi melalui browser:
http://IP_SERVER:PORT
Contoh: http://88.12.34.56:7575
Jika lupa password atau perlu reset akun:
cd streamflow && node reset-password.jsUntuk memastikan scheduled streaming berjalan dengan waktu yang akurat:
timedatectl statustimedatectl list-timezones | grep Asiasudo timedatectl set-timezone Asia/Jakartapm2 restart streamflowBuat file .env di root project:
PORT=7575
SESSION_SECRET=your_random_secret_here
NODE_ENV=production
TZ=UTCdocker-compose up --build -dAkses aplikasi: http://localhost:7575
Data akan tersimpan secara otomatis di:
- Database:
db/ - Logs:
logs/ - Upload files:
public/uploads/
docker-compose exec app node reset-password.jsStreamFlow adalah solusi streaming yang dioptimalkan untuk deployment di Railway.com.
-
Fork Repository - Fork repo ini ke akun GitHub kamu
-
Buat Project Railway
- Login ke Railway.com
- Klik "New Project" β "Deploy from GitHub Repo"
- Pilih repository yang sudah di-fork
-
Set Environment Variables
PORT=7575 SESSION_SECRET=your-super-secret-key-here NODE_ENV=production TZ=UTC -
Configure Storage (Optional)
- Railway menyediakan ephemeral storage
- Untuk persistent storage, gunakan Railway Volume atau external storage
-
Generate Domain
- Di tab "Settings", klik "Generate Domain"
- Akses aplikasi melalui URL yang diberikan
File railway.json sudah disertakan untuk konfigurasi optimal:
- Health check endpoint:
/api/server-time - Auto-restart on failure
- Optimized Docker build
| Plan | RAM | CPU | Cocok Untuk |
|---|---|---|---|
| Hobby | 512MB | Shared | 1-2 stream |
| Pro | 2GB+ | Dedicated | 3-5 stream |
| Team | 4GB+ | Dedicated | 5+ stream |
chmod -R 755 public/uploads/# Cek proses yang menggunakan port
sudo lsof -i :7575
# Kill proses jika diperlukan
sudo kill -9 <PID># Reset database (PERINGATAN: akan menghapus semua data)
rm db/*.db
# Restart aplikasi untuk membuat database baru
pm2 restart streamflowTidak bisa login:
- Pastikan
NODE_ENV=developmentuntuk akses HTTP - Periksa permission folder:
sudo chmod -R 777 db/ logs/ public/uploads/
- Pastikan
SESSION_SECRETtidak berubah
Production (HTTPS):
- Set
NODE_ENV=production - Akses melalui HTTPS untuk cookie session
Β© 2025 - Bang Tutorial

