このプラットフォームは会員登録無しで誰でもライブ配信を開始でき、誰でも気軽にチャットに参加してライブを盛り上げることができます。
将来的にこのプラットフォームを誰でも気軽にホストできることを目標にしています。
- Docker
- Docker Compose
- Make (オプション)
最も簡単な方法(推奨):
git clone https://github.com/tokuzou0829/easy-live-platform
cd easy-live-platform# 完全なセットアップ
make setup DOMAIN=example.com
# SSL有効でセットアップ
make setup-ssl DOMAIN=live.example.comセットアップ完了後、以下のようにアクセスできます:
- Webサイト: http://your-domain.com (またはhttps://your-domain.com)
- RTMP配信エンドポイント: rtmp://your-domain.com:1935/live
make help # 利用可能なコマンドを表示
make setup DOMAIN=<domain> # 完全なセットアップを実行
make setup-ssl DOMAIN=<domain> # SSL有効でセットアップ
make build # すべてのDockerイメージをビルド
make up DOMAIN=<domain> # すべてのサービスを起動
make down # すべてのサービスを停止
make restart # すべてのサービスを再起動
make logs # すべてのサービスのログを表示
make clean # Dockerイメージとボリュームをクリーンアップ
make env-check # 環境変数の設定を確認- nginx-rtmp: ライブストリーミング用のNginx + RTMPモジュール
- ポート: 80 (HTTP), 1935 (RTMP), 8080 (配信ダッシュボード)
- frontend: Next.js Webアプリケーション
- ポート: 3000 (内部)
- main-backend: メインAPI
- ポート: 3001 (内部)
- chat-backend: Socket.ioチャットサーバー
- ポート: 3002 (内部)
- thumbnail-gen: サムネイル生成API
- ポート: 3003 (内部)
- Webサイトで配信を作成
- 表示されるストリームキーを使用してRTMPで配信
# OBSの場合 サーバー: rtmp://your-domain.com:1935/live?password=<webサイトで生成されたパスワード> ストリームキー: <webサイトで生成されたキー> # FFmpegの場合 ffmpeg -i input.mp4 -c copy -f flv rtmp://your-domain.com:1935/live?password=<webサイトで生成されたパスワード>/<ストリームキー>
- SQLiteデータベース:
db_dataボリューム - HLSファイル:
hls_dataボリューム
このプラットフォームはGitHub OAuth認証をサポートしています。
GitHub OAuth Appの作成手順:
- GitHub Developer Settings にアクセス
- 以下の情報を入力:
- Application name: Easy Live Platform (任意の名前)
- Homepage URL:
http://your-domain.com(HTTPSの場合はhttps://) - Authorization callback URL:
http://your-domain.com/api/auth/callback/github
- Client IDとClient Secretをコピー
- セットアップ時に入力するか、コマンドライン引数で指定
環境変数:
AUTH_GITHUB_ID: GitHub Client IDAUTH_GITHUB_SECRET: GitHub Client Secret
環境変数の確認
make env-checkログを確認
make logs特定のサービスのログを確認
docker-compose logs -f <service-name>
# 例: docker-compose logs -f nginx-rtmpサービスを再ビルド
docker-compose build --no-cache <service-name>GitHub OAuth認証の問題
- GitHub OAuth Appの設定を確認
- Callback URLが正しく設定されているかチェック
.envファイルのGitHub関連設定を確認:make env-check