v0.2: Restreamer UI fork - Wild Dragon branding + WebRTC controls #15

Closed
opened 2026-05-03 14:54:16 -04:00 by zgaetano · 0 comments
Owner

Completed

Created https://forge.wilddragon.net/zgaetano/wilddragon-restreamer-ui — a standalone fork of datarhei/restreamer-ui v1.14.0 with Wild Dragon branding and WebRTC WHEP controls.

What's in the new repo

Branding (overlay/)

  • overlay/public/index.html — title "Wild Dragon", theme-color #0d0e12
  • overlay/public/manifest.json — short_name "Wild Dragon", brand colors
  • overlay/src/misc/Logo/ — Wild Dragon wordmark SVG + mark SVG, updated React components

New WebRTC components

  • overlay/src/misc/controls/WHEP.js — toggle switch for control.webrtc.enable, same pattern as the existing RTMP/SRT controls
  • overlay/src/views/Main/WHEPStatus.js — live viewer count badge, polls GET /api/v3/webrtc/streams/{id}/peers every 5 s

Modified upstream views (whole-file overlay)

  • overlay/src/views/Edit/index.js — upstream file + "WebRTC output (WHEP)" section inserted in the Processing & Control tab, between SRT and Snapshot
  • overlay/src/views/Main/index.js — upstream file + WHEP URL copy button (after SRT, before Snapshot) + WHEPStatus viewer count row

Build infrastructure

  • apply-overlay.sh — Phase 1: cp overlay/{public,src} on top of upstream; Phase 2: awk patches for Header.js, Welcome.js, Settings.js
  • Dockerfile — clone upstream v1.14.0 → apply overlay → yarn build → Caddy serve on :3000
  • .forgejo/workflows/publish.yml — multi-arch build on v*.*.*-wilddragon* tags

Core repo change

deploy/truenas/core/Dockerfile ui-builder stage updated to clone wilddragon-restreamer-ui (for overlay + apply-overlay.sh) and upstream (for source), replacing the inline deploy/truenas/core/ui-overlay/ approach. The overlay directory in the core repo is now superseded by the UI fork.

Still needed (not in this issue)

  • Binary assets (favicon.ico, logo192.png, logo512.png) must be git-pushed directly to the UI repo — the Forgejo API doesn't accept binary uploads in text form.
  • Integration wiring: dragonfork-core must call control.webrtc.enable from the saved channel metadata to start/stop the WHEP stream. Currently the toggle saves to metadata only; Core needs to read it on process start.
## Completed Created **https://forge.wilddragon.net/zgaetano/wilddragon-restreamer-ui** — a standalone fork of datarhei/restreamer-ui v1.14.0 with Wild Dragon branding and WebRTC WHEP controls. ### What's in the new repo **Branding (overlay/)** - `overlay/public/index.html` — title "Wild Dragon", theme-color `#0d0e12` - `overlay/public/manifest.json` — short_name "Wild Dragon", brand colors - `overlay/src/misc/Logo/` — Wild Dragon wordmark SVG + mark SVG, updated React components **New WebRTC components** - `overlay/src/misc/controls/WHEP.js` — toggle switch for `control.webrtc.enable`, same pattern as the existing RTMP/SRT controls - `overlay/src/views/Main/WHEPStatus.js` — live viewer count badge, polls `GET /api/v3/webrtc/streams/{id}/peers` every 5 s **Modified upstream views (whole-file overlay)** - `overlay/src/views/Edit/index.js` — upstream file + "WebRTC output (WHEP)" section inserted in the Processing & Control tab, between SRT and Snapshot - `overlay/src/views/Main/index.js` — upstream file + WHEP URL copy button (after SRT, before Snapshot) + WHEPStatus viewer count row **Build infrastructure** - `apply-overlay.sh` — Phase 1: cp overlay/{public,src} on top of upstream; Phase 2: awk patches for Header.js, Welcome.js, Settings.js - `Dockerfile` — clone upstream v1.14.0 → apply overlay → yarn build → Caddy serve on :3000 - `.forgejo/workflows/publish.yml` — multi-arch build on `v*.*.*-wilddragon*` tags ### Core repo change `deploy/truenas/core/Dockerfile` ui-builder stage updated to clone `wilddragon-restreamer-ui` (for overlay + apply-overlay.sh) and upstream (for source), replacing the inline `deploy/truenas/core/ui-overlay/` approach. The overlay directory in the core repo is now superseded by the UI fork. ### Still needed (not in this issue) - Binary assets (`favicon.ico`, `logo192.png`, `logo512.png`) must be git-pushed directly to the UI repo — the Forgejo API doesn't accept binary uploads in text form. - Integration wiring: dragonfork-core must call `control.webrtc.enable` from the saved channel metadata to start/stop the WHEP stream. Currently the toggle saves to metadata only; Core needs to read it on process start.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: zgaetano/datarhei-dragonfork-core#15
No description provided.