Docker

Documentation menu
On this page
  1. Quick start
  2. Details

Docker is the quickest way to try Bunryu. For long-running production servers, use the native install.

Quick start

git clone https://github.com/live-miracles/bunryu
cd bunryu
docker compose up -d
docker compose logs bunryu | grep "dashboard password"

Open http://localhost:8080, log in with the printed password, create a pipeline and publish to it.

Details

The image bundles the control plane, SRS, goryu and the same pinned FFmpeg build as the native installer (x86_64 only). One container runs all three processes under a small supervisor (docker/entrypoint.sh) that keeps the native startup order: SRS starts only after /api/ready answers, each process is restarted 2 s after it exits, and every start and exit is logged with its status.

docker compose up -d                       # build and start (compose.yaml)
docker compose logs -f bunryu        # all three processes log here
docker compose down                        # stop; data stays in the volume

Or without compose:

docker build -t bunryu .
docker run -d --name bunryu --restart unless-stopped \
  -p 8080:8080 -p 21935:21935 -p 10080:10080/udp -p 10081:10081/udp \
  -v bunryu-data:/data bunryu
  • Data: everything persistent is in the /data volume: db.sqlite, bunryu.json, the generated srs.conf / goryu.json, HLS previews and diagnostics. On every start the SRS and relay configs are refreshed from the image and keep their SRT passphrase, like a reinstall.
  • Secrets: on first start the container generates the dashboard password (printed in the logs and stored as dashboard_password in /data/bunryu.json) and a random SRT passphrase.
  • Public host: set Settings → Public Host to the address encoders use, so the dashboard's publish URLs are correct.
  • Limitations: the dashboard's SRS/relay/app log viewers read journald, so they are empty in Docker; use docker compose logs. The version panel shows the commit as unknown. The Goryu needs UDP port 10081 published as above.
Edit this page on GitHub