Streamflow
Web-Based App for Managing and Automating YouTube Live Streams
Install / Use
/learn @bangtutorial/StreamflowREADME
StreamFlow: Web-Based Multi-Platform Streaming
StreamFlow adalah platform live streaming berbasis web yang powerful dan mudah digunakan. Streaming ke YouTube, Facebook, dan platform RTMP lainnya secara bersamaan dengan satu aplikasi. Dilengkapi dengan video management, scheduled streaming, dan real-time monitoring untuk pengalaman streaming yang profesional.
🚀 Installation • 📖 Documentation • 🐳 Docker • 🪛 Troubleshooting • 💬 Community
✨ Fitur Utama
- 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
💻 System Requirements
- Node.js v18 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)
⚡ Quick Installation
Untuk instalasi otomatis, jalankan perintah berikut:
curl -o install.sh https://raw.githubusercontent.com/bangtutorial/streamflow/main/install.sh && chmod +x install.sh && ./install.sh
🔧 Manual Installation
1. Persiapan Server
Update sistem operasi:
sudo apt update && sudo apt upgrade -y
Install Node.js:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
Verifikasi instalasi Node.js:
node --version
npm --version
Install FFmpeg:
sudo apt install ffmpeg -y
Verifikasi instalasi FFmpeg:
ffmpeg -version
Install Git:
sudo apt install git -y
2. Setup Project StreamFlow
Clone repository:
git clone https://github.com/bangtutorial/streamflow
Masuk ke direktori project:
cd streamflow
Install Paket Node.JS:
npm install
Generate Secret Key:
node generate-secret.js
Konfigurasi port (opsional):
nano .env
Jalankan aplikasi:
npm run dev
3. Konfigurasi Firewall
PENTING: 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 7575
Verifikasi aturan firewall sebelum mengaktifkan:
sudo ufw status verbose
Aktifkan firewall:
sudo ufw enable
Verifikasi status firewall setelah aktif:
sudo ufw status
4. Install Process Manager
Install PM2 untuk mengelola aplikasi:
sudo npm install -g pm2
5. Menjalankan Aplikasi
Jalankan aplikasi dengan PM2:
pm2 start app.js --name streamflow
Setup 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 save
Perintah 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 monit
Akses aplikasi melalui browser:
http://IP_SERVER:PORT
Contoh: http://88.12.34.56:7575
🔐 Reset Password
Jika lupa password atau perlu reset akun:
cd streamflow && node reset-password.js
⏰ Pengaturan Timezone Server
Untuk memastikan scheduled streaming berjalan dengan waktu yang akurat:
Cek timezone saat ini:
timedatectl status
Lihat daftar timezone tersedia:
timedatectl list-timezones | grep Asia
Set timezone ke WIB (Jakarta):
sudo timedatectl set-timezone Asia/Jakarta
Restart aplikasi setelah mengubah timezone:
pm2 restart streamflow
🐳 Docker Deployment
1. Persiapan Environment
Buat file .env di root project:
PORT=7575
SESSION_SECRET=your_random_secret_here
NODE_ENV=development
2. Build dan Jalankan
docker-compose up --build
Akses aplikasi: http://localhost:7575
3. Data Persistence
Data akan tersimpan secara otomatis di:
- Database:
db/ - Logs:
logs/ - Upload files:
public/uploads/
4. Reset Password (Docker)
docker-compose exec app node reset-password.js
🪛 Troubleshooting
Permission Error
chmod -R 755 public/uploads/
Port Already in Use
# Cek proses yang menggunakan port
sudo lsof -i :7575
# Kill proses jika diperlukan
sudo kill -9 <PID>
Database Error
# Reset database (PERINGATAN: akan menghapus semua data)
rm db/*.db
# Restart aplikasi untuk membuat database baru
pm2 restart streamflow
Docker Troubleshooting
Tidak 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
💫 Contributors
📄 License
© 2026 - Bang Tutorial
