wilddragon-restreamer-ui/README.md

54 lines
2.1 KiB
Markdown
Raw Normal View History

# Wild Dragon Restreamer UI
2026-05-06 16:12:12 -04:00
Wild Dragon fork of [datarhei/restreamer-ui](https://github.com/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](https://forge.wilddragon.net/zgaetano/datarhei-dragonfork-core))
## Upstream
Pinned to **datarhei/restreamer-ui v1.14.0** (React 18, MUI v5).
## Build
```sh
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.