Wild Dragon fork of datarhei/restreamer-ui — branding + WebRTC WHEP egress controls for dragonfork-core
| .forgejo/workflows | ||
| apply-overlay.sh | ||
| Caddyfile | ||
| CHANGELOG.md | ||
| Dockerfile | ||
| README.md | ||
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:
- Update
ARG UPSTREAM_TAGinDockerfile. - Verify the three
patch_linecalls inapply-overlay.shstill match the new upstream. - Re-fetch and re-diff
overlay/src/views/Edit/index.jsandoverlay/src/views/Main/index.jsagainst the new upstream to carry forward our additions.