Owncastをバックグラウンドサービスとして実行する
Owncastをsystemdで実行できるため、マシンが起動すると自動的に開始し、クラッシュした場合は自動で再起動します。 このページはsystemdを実行するLinuxサーバー専用です。 Owncastをコンテナ内で実行する場合は、Dockerのrestart: unless-stoppedポリシーを代わりに使用してください(コンテナ内でOwncastを実行するを参照)。 macOSの同等のものは、launchdエージェントです。
サービスファイルを作成する
次の内容で/etc/systemd/system/owncast.serviceにファイルを作成します。 WorkingDirectory、ExecStart、User、およびGroupをOwncastがインストールされているパスと実行すべきアカウントに一致させるように変更します。
[Unit]
Description=Owncast
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/owncast
ExecStart=/opt/owncast/owncast
User=owncast
Group=owncast
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
WorkingDirectoryはowncastバイナリおよびそのdata/ディレクトリが格納されているフォルダーです。 ExecStartはバイナリへのフルパスです。 Owncastをrootとして実行しないでください。 専用のユーザーを作成してください(例:sudo useradd --system --home-dir /opt/owncast owncast)そしてUser/Groupをそれに指し示します。
有効化して開始する
systemdをリロードして新しいファイルを読み込み、サービスを1ステップで有効化して開始します。
sudo systemctl daemon-reload
sudo systemctl enable --now owncast
enable --nowはOwncastを即座に起動させ、毎回起動時に開始するように設定します。
実行中であることを確認する
systemctl status owncast
active (running)が表示されるはずです。 ログをライブで確認するには:
journalctl -u owncast -f
実行中になったら、ポート8080でブラウザーにサーバーを読み込んでそれが配信していることを確認します。
強化(オプション)
プロジェクトは、systemdサンドボックスオプションを追加するサンプルサービスファイルを提供しています:
ReadWritePaths=/opt/owncast
NoNewPrivileges=true
SecureBits=noroot
ProtectSystem=strict
ProtectHome=read-only
ProtectSystem=strictはファイルシステムのほとんどを読み取り専用にし、したがってReadWritePathsはOwncastディレクトリを指す必要があります。そうしないとサーバーがdata/に書き込むことができません。 これらを[Service]セクションに追加する場合は、任意で行ってください。
contribディレクトリには、他のユーザーが提供した例(Windowsのためのノートを含む)が含まれています。 これらのファイルはコミュニティから提供されており、公式にはサポートされていませんが、このページでカバーされていないセットアップの出発点としては良いものです。
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.

