この記事のポイント
- Owncast は Twitch・YouTube Live の完全代替として使えるセルフホスト型ライブストリーミングサーバー(MITライセンス)
- Ubuntu 24.04 LTS + Docker で
docker run1コマンドから起動でき、本記事では Owncast v0.2.5(2026-04-11 リリース)の動作を実機確認済み - OBS Studio から RTMP で配信するだけ。視聴ページ・チャット・管理画面がすべてセットで動く
- 管理画面のデフォルトパスワード(
abc123)は起動直後に必ず変更すること
「Twitch のアカウントバンが怖い」「企業に配信データを渡したくない」「限定コミュニティ向けに配信したい」——そういった理由でセルフホスト型の配信サーバーを探している人に、Owncast は現状で最も完成度が高い選択肢です。
私が実際に Ubuntu 24.04 LTS + Docker 29.6.0 環境で動かしたところ、docker run のあとすぐ Web サーバーが起動しました。FFmpeg は Owncast のイメージに同梱されているため、追加インストールなしに複数画質の HLS 変換も動きます。
本記事では実際にコンテナを起動して確認した手順と、管理画面のスクリーンショットをそのまま載せています。
動作確認済み環境
Ubuntu 24.04.4 LTS(Noble Numbat) / Docker 29.6.0 / Owncast v0.2.5-linux-64bit / 2026-06-21 実機検証
目次
- Owncast とは何か
- 前提:Docker の準備
- Owncast を Docker で起動する
- 管理画面にアクセスして初期設定する
- OBS Studio から配信する
- 永続化と自動起動の設定
- VPS で本番運用するときのポイント
- よくあるエラーと解決策
- まとめ
Owncast とは何か
Owncast(オウンキャスト)は Go 言語で書かれたオープンソースのライブストリーミングサーバーです。OBS Studio などの配信ソフトから RTMP で送信した映像を受け取り、HLS 形式に変換して Web ブラウザで視聴できる状態にしてくれます。
Twitch が提供する仕組みを丸ごと自前で持てる、というイメージが近いです。
| 機能 | Twitch | Owncast(セルフホスト) |
|---|---|---|
| 視聴ページ | Twitch のプラットフォーム上 | 自分のサーバーに自動生成 |
| チャット | Twitch チャット | 内蔵チャット(匿名可) |
| 管理画面 | Twitch ダッシュボード | ブラウザ管理 UI(/admin) |
| 配信プロトコル | RTMP → 独自変換 | RTMP → HLS(FFmpeg) |
| Fediverse 連携 | なし | ActivityPub 対応(フォロー・通知) |
| データの管理 | Twitch が保有 | 完全に自分で管理 |
Fediverse(ActivityPub)に対応しており、Mastodon ユーザーから Owncast のアカウントをフォローすると、配信開始の通知がフィード上に流れる仕組みも持っています。コミュニティが分散SNS上にいる場合に特に便利です。
前提:Docker の準備
Owncast を最も簡単に動かす方法は Docker です。バイナリで直接インストールする方法もありますが、Docker なら FFmpeg の依存関係も含めてコンテナ内に閉じ込められるため、ホスト環境を汚しません。
Docker がまだ入っていない場合は先にインストールします。
Reading package lists… Done
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg
$ echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | sudo tee /etc/apt/sources.list.d/docker.list
$ sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
$ sudo usermod -aG docker $USER
(一度ログアウト・ログインし直す)
$ docker –version
Docker version 29.6.0, build fb59821
注意
sudo usermod -aG docker $USER の後は必ず一度ログアウトして再ログインしてください。グループ変更は新しいシェルセッションから有効になります。

Owncast を Docker で起動する
Docker が動いている前提で、Owncast の起動は1コマンドです。
手順1:Owncast イメージを pull する
latest: Pulling from owncast/owncast
589002ba0eae: Pull complete
b6fd3ccfd676: Pull complete
Status: Downloaded newer image for owncast/owncast:latest
docker.io/owncast/owncast:latest
pull のステータスが次々と流れ、最後に Status: Downloaded newer image for owncast/owncast:latest と出れば完了です。
手順2:コンテナを起動する
–name owncast \
-p 8080:8080 \
-p 1935:1935 \
-v /opt/owncast:/app/data \
owncast/owncast:latest
8eaf6a0b0d1be9836e032e8f6a167865681a74…
オプションの意味はこうです。
-p 8080:8080:視聴ページ・管理画面の Web ポート-p 1935:1935:OBS Studio などが RTMP で接続するポート-v /opt/owncast:/app/data:設定ファイルやサムネイルをホスト側に永続化
注意
-v /opt/owncast:/app/data を指定しないと、コンテナを削除するたびに設定(パスワード・ストリームキー等)がリセットされます。VPS 本番運用では必ずボリュームマウントを付けてください。
手順3:起動確認
Owncast v0.2.5-linux-64bit (f1da0fc30c28c31febf8aebffc647cc95ded6447)
Web server is listening on port 8080.
Configure this server by visiting /admin.
$ curl -s -o /dev/null -w “%{http_code}” http://localhost:8080
200
ログに Web server is listening on port 8080. と出れば起動完了です。続けて curl でポートに触れると HTTP 200 が返ってきます(私の環境では起動確認まで docker logs の3行のみ)。


管理画面にアクセスして初期設定する
ブラウザで http://サーバーIP:8080/admin/ にアクセスします。初回は Basic 認証のダイアログが出るので、ユーザー名 admin、パスワード abc123(デフォルト)でログインします。
最初にやること:パスワードを変える
デフォルトのパスワード abc123 はインターネットで公開されている値です。VPS に置く場合は管理画面の Configuration → Server Setup → Admin Password から即座に変更してください。

管理画面のダッシュボードには「No stream is active(配信はありません)」という表示とともに、配信ソフトの設定に必要な情報が出ています。
- Streaming URL:
rtmp://localhost:1935/live(OBS に入力する値。localhostの部分はサーバーの IP に変える) - Streaming Keys:ストリームキーの確認・変更リンク
手順4:サーバー設定(Configuration → Server Setup)

Server Setup ページでは以下を確認・変更します。
| 設定項目 | デフォルト値 | 変更推奨? |
|---|---|---|
| Admin Password | abc123 | 必須(公開サーバーでは即変更) |
| FFmpeg Path | /usr/bin/ffmpeg | 通常そのままでOK |
| Owncast port | 8080 | 80/443 に変えたいなら nginx リバースプロキシを使う |
| RTMP port | 1935 | OBS Studio のデフォルトと合っているためそのままでOK |
手順5:サーバー名・説明を設定する(Configuration → General)
Configuration → General では、視聴ページに表示されるサーバー名・説明文・タグ・SNS リンクなどを設定します。「New Owncast Server」というデフォルト名をここで変えます。

OBS Studio から配信する
OBS Studio での設定は Twitch のときとほぼ同じ手順です。
手順6:OBS Studio でストリーム設定
- OBS Studio を開き、「設定」→「配信」を選ぶ
- サービスを「カスタム」に変更する
- サーバーに
rtmp://サーバーIP:1935/liveを入力する - ストリームキーを入力する(管理画面の Stream Keys タブで確認できる)
デフォルトのストリームキーは abc123 です。パスワードと同様に変更を推奨します。
level=info msg=”Owncast v0.2.5-linux-64bit”
level=info msg=”Web server is listening on port 8080.”
level=info msg=”New stream connected.”
level=info msg=”Broadcasting to HLS stream.” streamKey=abc123
level=info msg=”Stream started.” audioOnly=false
OBS から配信を開始すると New stream connected. のログが流れ、ブラウザをリロードすると映像が表示されます。
永続化と自動起動の設定
ホストを再起動してもコンテナが自動起動するよう、--restart unless-stopped をつけます。
–name owncast \
–restart unless-stopped \
-p 8080:8080 \
-p 1935:1935 \
-v /opt/owncast:/app/data \
owncast/owncast:latest
コンテナ起動完了
すでにコンテナが動いている場合は一度 docker rm -f owncast で削除してから再作成します。
データディレクトリの準備
$ sudo chown $USER:$USER /opt/owncast
$ ls -la /opt/owncast
total 0
(Owncast が初回起動時に owncast.db 等を自動生成する)
VPS で本番運用するときのポイント
自宅サーバーでの検証を終えたら、次のステップは VPS への移行です。ライブ配信は上り帯域をかなり使うため、回線品質が安定した VPS が向いています。
| VPS | 最安プラン | 帯域 | 東京リージョン | 評価 |
|---|---|---|---|---|
| Vultr | $5/月〜 | 1Gbps(1TB/月) | あり | ★★★★★ |
| DigitalOcean | $6/月〜 | 1Gbps(1TB/月) | なし(最寄シンガポール) | ★★★★☆ |
| Linode (Akamai) | $5/月〜 | 1Gbps(1TB/月) | あり(JP リージョン) | ★★★★☆ |
| ConoHa VPS | 880円/月〜 | 100Mbps〜 | あり(国内) | ★★★☆☆ |
配信は映像ビットレート次第で上り帯域を 2〜8Mbps 消費します。視聴者が増えるほど HLS セグメントの配信で帯域も増えるため、月ごとの転送量制限に余裕のあるプランを選ぶのが無難です。
nginx リバースプロキシと HTTPS 化
ポート 8080 のまま公開するのは現実的でないため、nginx でリバースプロキシして https://stream.example.com/ のような URL でアクセスできるようにするのが一般的です。
listen 80;
server_name stream.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name stream.example.com;
ssl_certificate /etc/letsencrypt/live/stream.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/stream.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
SSL 証明書は Certbot(Let’s Encrypt)で取得できます。詳しい手順は を参照してください。
よくあるエラーと解決策
①「port is already allocated」エラー
別のプロセスが 8080 ポートを使っています。sudo ss -tlnp | grep :8080 で確認し、使用中のプロセスを停止するか、-p 8081:8080 のように別のポートにマッピングします。
②管理画面の Basic 認証でパスワードが通らない
パスワードを変更後にコンテナを削除(-v なし)した場合、owncast.db ごと消えてデフォルトの abc123 に戻ります。-v /opt/owncast:/app/data のボリューム指定があれば docker rm しても DB は残ります。
③OBS から RTMP 接続できない
ファイアウォールで 1935 ポートが閉じている場合です。
Rule added
$ sudo ufw allow 8080/tcp
Rule added
$ sudo ufw status
1935/tcp ALLOW Anywhere
8080/tcp ALLOW Anywhere
VPS の場合はコントロールパネル側のファイアウォール(セキュリティグループ)も確認してください。
④映像が視聴ページに出るまで時間がかかる
HLS 配信の仕組み上、最初のセグメントが揃うまで映像は表示されません。配信を開始してから少し待つと視聴ページに映像が現れます。遅延が長めに感じる場合は管理画面の Video 設定でセグメント長を変更できます(Owncast 公式ドキュメントを参照)。
まとめ
Ubuntu 24.04 LTS + Docker で Owncast v0.2.5 を動かしました。
docker pull→docker run→ HTTP 200 確認のフローが1コマンドずつ完結する- FFmpeg はイメージに同梱。追加インストール不要
- OBS Studio → RTMP → Owncast → HLS 視聴という配信フローが自前で完結
- 管理画面はブラウザで開くだけ。ストリームキー・パスワード・外観・Fediverse 連携まで GUI で設定できる
- 本番運用するなら
--restart unless-stopped+-vボリューム + nginx HTTPS が最低限の構成
「とりあえず動かす」段階は今日の手順で完了します。次の一歩は VPS の東京リージョンに置いてドメインと HTTPS を設定することです。VPS の選び方は にまとめてあります。


コメント