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=developmentdocker-compose up --buildAkses 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.jschmod -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

