Skip to content
/ streamflow Public template
forked from bangtutorial/streamflow

Jalankan live streaming lewat VPS βœ¨πŸ”΄

License

Notifications You must be signed in to change notification settings

danprat/streamflow

 
 

Repository files navigation

logo

StreamFlow v2.0: Fresh From The OvenπŸ”₯

StreamFlow adalah aplikasi live streaming yang memungkinkan kamu untuk melakukan live streaming ke berbagai platform seperti YouTube, Facebook, dan platform lainnya menggunakan protokol RTMP. Aplikasi ini bisa berjalan di VPS (Virtual Private Server) dan mendukung streaming ke banyak platform sekaligus.

Untitled-2

πŸš€ Fitur Utama

  • Multi-Platform Streaming: Mendukung streaming ke berbagai platform populer
  • Video Gallery: Kelola koleksi video dengan mudah
  • Upload Video: Upload video dari local atau import dari Google Drive
  • Scheduled Streaming: Jadwalkan streaming dengan waktu tertentu
  • Advanced Settings: Kontrol bitrate, resolution, FPS, dan orientasi
  • Real-time Monitoring: Monitor status streaming secara real-time
  • Responsive UI: Tampilan modern yang responsive di semua device

πŸ“‹ Requirements

  • Node.js v16 atau lebih baru
  • FFmpeg
  • SQLite3 (sudah termasuk)
  • VPS/Server dengan minimal 1Core & 1GB RAM
  • Port 7575 (dapat diubah di .env)

πŸ› οΈ Instalasi di VPS

1. Persiapan VPS

Update sistem:

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 FFmpeg:

ffmpeg -version

Install Git:

sudo apt install git -y

2. Setup Projek StreamFlow

Clone repository ke VPS:

git clone https://github.com/bangtutorial/streamflow

Masuk ke folder project:

cd streamflow

Install dependencies:

npm install

Generate session secret:

npm run generate-secret

Konfigurasi tambahan (opsional):

Port default aplikasi adalah 7575. Jika perlu ubah port, edit file .env (contoh: 8080, 3300, dll):

nano .env

3. Setup Firewall

Buka port sesuai dengan yang ada di .env (default: 7575):

sudo ufw allow 7575

Aktifkan firewall:

sudo ufw enable

Cek status firewall:

sudo ufw status

4. Install Process Manager (PM2)

Install PM2:

sudo npm install -g pm2

5. Cara Jalankan Aplikasi StreamFlow

Pastikan kamu masih berada di folder streamflow, jalankan perintah ini:

pm2 start app.js --name streamflow

Akses aplikasi di IP_SERVER:PORT
Contoh:

88.12.34.56:7575

Buat username dan password. Setelah masuk Dashboard, Sign Out. Lalu restart aplikasi dengan:

pm2 restart streamflow

πŸ“ Informasi Tambahan

Reset Password

Jika kamu lupa password atau ingin reset password, bisa ikutin cara berikut:

Masuk ke folder aplikasi:

cd streamflow

Jalankan perintah reset password:

node reset-password.js

Setup Waktu Server (Timezone)

Untuk memastikan scheduled streaming berjalan dengan waktu yang tepat, atur timezone server sesuai zona waktu kamu:

1. Cek Timezone Saat Ini

Lihat timezone aktif:

timedatectl status

2. Lihat Daftar Timezone Yang Tersedia

Cari timezone Indonesia:

timedatectl list-timezones | grep Asia

Contoh set Timezone ke WIB (Jakarta):

sudo timedatectl set-timezone Asia/Jakarta

Verifikasi perubahan:

timedatectl status

Setelah mengubah timezone, restart aplikasi agar perubahan timezone berlaku:

pm2 restart streamflow

πŸͺ› Troubleshooting

Permission Error

Fix permission untuk folder uploads:

chmod -R 755 public/uploads/

Port Already in Use

Cek process yang menggunakan port:

sudo lsof -i :7575

Kill process jika perlu:

sudo kill -9 <PID>

Database Error

Reset database (HATI-HATI: akan menghapus semua data):

rm db/*.db

Restart aplikasi untuk create database baru.

🚒 Deploy & Run with Docker

1. Persiapan .env

Buat file .env di root project (jika belum ada), minimal berisi:

PORT=7575
SESSION_SECRET=isi_random_yang_tetap
NODE_ENV=development
  • SESSION_SECRET: Gunakan string acak, dan JANGAN diubah-ubah setiap restart.
  • NODE_ENV=development: Untuk development/testing (agar cookie session tidak butuh https).

2. Build & Jalankan dengan Docker Compose

docker-compose up --build

Akses aplikasi di: http://localhost:7575

3. Volume Persistence

  • Data database, logs, dan file upload akan otomatis tersimpan di folder db/, logs/, dan public/uploads/ di host.

4. Reset Password (dalam container)

Jika lupa password admin:

docker-compose exec app node reset-password.js

5. Troubleshooting

  • Tidak bisa login?
    • Pastikan cookie session muncul di browser setelah login.
    • Pastikan .env berisi NODE_ENV=development jika akses via http.
    • Pastikan permission folder db/, logs/, dan public/uploads/ sudah benar:
      sudo chmod -R 777 db/ logs/ public/uploads/
    • Pastikan file .env dan SESSION_SECRET tidak berubah-ubah.
  • Production (https):
    • Ubah NODE_ENV=production dan akses via https agar cookie session tetap dikirim.

Lisensi:

MIT License

Β© 2025 - Bang Tutorial

About

Jalankan live streaming lewat VPS βœ¨πŸ”΄

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • EJS 64.9%
  • JavaScript 34.2%
  • Other 0.9%