Wild Dragon fork of datarhei/restreamer-ui — branding + WebRTC WHEP egress controls for dragonfork-core
Find a file
2026-05-06 16:16:56 -04:00
README.md chore: add build scaffolding, overlay structure, CI workflow: README.md 2026-05-06 16:16:56 -04:00

Wild Dragon Restreamer UI

Wild Dragon fork of datarhei/restreamer-ui, adding:

  • Wild Dragon branding — logo, theme, manifest, page title
  • WebRTC (WHEP) output control — per-channel toggle in the Processing & Control editor tab
  • WHEP URL copy button — alongside HLS/RTMP/SRT in the main channel view
  • Live viewer count — badge polling GET /api/v3/webrtc/streams/{id}/peers (requires dragonfork-core)

Upstream

Pinned to datarhei/restreamer-ui v1.14.0 (React 18, MUI v5).

Build

docker build -t wilddragon-ui .

Or pull the prebuilt image from CI (see .forgejo/workflows/publish.yml).

Repository structure

overlay/              Wild Dragon files layered on top of upstream at build time
  public/             index.html, manifest.json  (branding)
  src/
    misc/
      controls/
        WHEP.js       WebRTC output toggle control (new)
      Logo/           Wild Dragon logo components + SVG assets
    views/
      Edit/
        index.js      Upstream file + WHEPControl section in Processing tab
      Main/
        index.js      Upstream file + WHEP copy button + viewer count
        WHEPStatus.js Live WebRTC viewer count badge (new)
apply-overlay.sh      Phase-1 file copy + Phase-2 awk patches (Header/Welcome/Settings)
Dockerfile            clone upstream v1.14.0 → apply overlay → yarn build → Caddy
Caddyfile             Caddy v2 config for the built SPA

Binary assets (overlay/public/favicon.ico, logo192.png, logo512.png) must be committed separately via git — the Forgejo API does not accept binary uploads in text form.

Upstream rebase

When datarhei releases a new restreamer-ui version:

  1. Update ARG UPSTREAM_TAG in Dockerfile.
  2. Verify the three patch_line calls in apply-overlay.sh still match the new upstream.
  3. Re-fetch and re-diff overlay/src/views/Edit/index.js and overlay/src/views/Main/index.js against the new upstream to carry forward our additions.