diff --git a/services/web-ui/nginx.conf b/services/web-ui/nginx.conf index c1a2caf..eb46eba 100644 --- a/services/web-ui/nginx.conf +++ b/services/web-ui/nginx.conf @@ -95,9 +95,9 @@ server { proxy_request_buffering off; } - # SPA fallback - try to serve file, else route to index.html + # SPA fallback - try to serve file, else route to the React shell. location / { - try_files $uri $uri/ /home.html; + try_files $uri $uri/ /index.html; expires -1; add_header Cache-Control "no-cache, no-store, must-revalidate"; } diff --git a/services/web-ui/public/_primitives-smoke.html b/services/web-ui/public/_primitives-smoke.html deleted file mode 100644 index 680ce21..0000000 --- a/services/web-ui/public/_primitives-smoke.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - Primitives smoke test - - - -
- - -
-
-
- -
-
- -
-
- - -
- -
-
- -
-

Asset cards

-
-
-
- 00:30 - 2 -
-
-
DRP_B004_081606_V1_0099.mov
-
Alissa Morris · Oct 14th, 2024
-
- -
-
-
- 00:05 - V2 -
-
-
DRP_A015_0815OF_V1_0023.mov
-
Alissa Morris · Oct 14th, 2024
-
- -
-
- -

Operational cards

-
-
-
- Studio A SRT - Recording -
-
-
-
- Receiving · 12450 fr · 30 fps - 00:23:14 -
-
-
- Last: Oct 14th, 2024 4:00 PM -
- -
-
-
-
-
- zampp2 - Online -
-
-
-
- CPU42% -
-
-
-
-
- Memory71% -
-
-
-
-
- DeckLink Duo 2 · 4 ports -
- -
-
-
-
- -

List rows

-
-
- Name - Image - Status - Actions -
-
- wild-dragon-mam-api-1 - wild-dragon-mam-api:latest - Up - -
-
- wild-dragon-web-ui-1 - wild-dragon-web-ui:latest - Up - -
-
- -

Buttons

-
- - - - - - -
- -

Form controls

-
-
- - -
Letters, numbers, dashes. Used in clip filenames.
-
-
-
- - -
-
- - -
-
- -
- -

Field group

-
-
-
- Master recording -
-
- - - -
-
-
-
- - -
-
- - -
-
-
-
-
- -

Empty state

-
- - - -
No recorders yet
-
Create a recorder to ingest live streams via SRT, RTMP, or SDI.
-
- -
-
-
-
-
- - diff --git a/services/web-ui/public/api-tokens.html b/services/web-ui/public/api-tokens.html deleted file mode 100644 index a0d30e9..0000000 --- a/services/web-ui/public/api-tokens.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - API Tokens — Dragonflight - - - - -
- - - - - -
-
-
- API Tokens -
-
- -
-
- -
-
-

- API tokens let scripts and integrations authenticate as you without using your password. - Tokens are shown once at creation — store them securely. - Use Authorization: Bearer <token> in your requests. -

-
- - - - - -
-
Loading…
-
- - -
-
-
- - -
-
-
- New API token - -
-
-
- - -
A label to help you remember what this token is for.
-
-
- - -
-
- -
- -
- - - - - - diff --git a/services/web-ui/public/capture.html b/services/web-ui/public/capture.html deleted file mode 100644 index 4862e0e..0000000 --- a/services/web-ui/public/capture.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - Capture — Dragonflight - - - - -
- - -
-
-
- Capture - / - Direct SDI -
-
- Loading devices… -
-
- -
- - - - - -
-
-
- -
- - - - - - - diff --git a/services/web-ui/public/cluster.html b/services/web-ui/public/cluster.html deleted file mode 100644 index 7e08149..0000000 --- a/services/web-ui/public/cluster.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - - Cluster — Dragonflight - - - - -
- - -
-
-
- Cluster -
-
-
- - Loading… -
- -
-
- -
-
-
-
-
Total nodes
-
-
-
-
Online
-
-
-
-
Offline
-
-
- - - - - - - - - - - - - - - - - - -
NodeIPRoleCPUMemoryVersionLast seenActions
Loading…
-
-
-
- -
- - - - - - diff --git a/services/web-ui/public/containers.html b/services/web-ui/public/containers.html deleted file mode 100644 index 00990f2..0000000 --- a/services/web-ui/public/containers.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - Containers — Dragonflight - - - - - -
- - -
-
-
- -
-
-
- - Loading… -
- -
-
- -
-
-
- Container - Image - State - Ports - Actions -
-
-
Loading…
-
-
-
-
-
- -
- - - - - - diff --git a/services/web-ui/public/edit.html b/services/web-ui/public/edit.html deleted file mode 100644 index 596b202..0000000 --- a/services/web-ui/public/edit.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - Editor — Dragonflight - - - - - -
- - -
-
-
- Editor - / - Phase A · single-track -
-
- - -
-
- -
- - - - -
-
-
-
- -
Drag a clip onto the timeline below, then click it to preview.
-
- -
-
- -
- --:--.-- / --:--.-- - - - -
-
- -
-
- Timeline · Track 1 - 0 clips · 00:00.00 -
-
-
Drag clips here from the Library
-
-
-
- - - -
-
-
- - - - - - diff --git a/services/web-ui/public/editor.html b/services/web-ui/public/editor.html deleted file mode 100644 index 927c15c..0000000 --- a/services/web-ui/public/editor.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - Editor (in development) — Dragonflight - - - - -
- - - -
-
-
- Editor -
-
-
- -
-
- - In Development -

The editor is under construction

-

- We're still wiring up the timeline editor — clip trimming, sequence - rendering, and Premiere round-tripping. It's not ready for use yet, - but it's coming. Use the sidebar to jump to Library, Recorders, - or Projects in the meantime. -

- - -
-
-
-
- - - - diff --git a/services/web-ui/public/home.html b/services/web-ui/public/home.html deleted file mode 100644 index 605b0f1..0000000 --- a/services/web-ui/public/home.html +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - - Home — Dragonflight - - - - - -
- - -
- - - -
-
- - - - - - - diff --git a/services/web-ui/public/jobs.html b/services/web-ui/public/jobs.html deleted file mode 100644 index df434e5..0000000 --- a/services/web-ui/public/jobs.html +++ /dev/null @@ -1,914 +0,0 @@ - - - - - - -Jobs — Dragonflight - - - - - -
- - - - - -
- - -
-
- Jobs -
-
- -
-
- - -
- - -
-
-
-
Total
-
-
-
-
Active
-
-
-
-
Completed
-
-
-
-
Failed
-
-
- - -
-
- - - - -
- -
- - - -
-
- Connecting… -
-
- - -
- -
- -
-
-
- - -
- - -
- - - - - - diff --git a/services/web-ui/public/login.html b/services/web-ui/public/login.html index eb46442..4436aa3 100644 --- a/services/web-ui/public/login.html +++ b/services/web-ui/public/login.html @@ -263,7 +263,7 @@ try{ const res = await fetch(API + '/login', {method:'POST',headers:{'Content-Type':'application/json'},credentials:'same-origin', body: JSON.stringify({username:$('username').value.trim(),password:$('password').value})}); - if(res.ok){ showFlash('Signed in, redirecting...','success'); setTimeout(()=>{location.href='home.html'},600); } + if(res.ok){ showFlash('Signed in, redirecting...','success'); setTimeout(()=>{location.href='/'},600); } else{ const d=await res.json().catch(()=>({})); showFlash(d.error||'Login failed','error'); } } catch(err){ showFlash('Network error: '+err.message,'error'); } finally{ btn.disabled=false; btn.textContent='Sign in'; } diff --git a/services/web-ui/public/player.html b/services/web-ui/public/player.html deleted file mode 100644 index c9a68da..0000000 --- a/services/web-ui/public/player.html +++ /dev/null @@ -1,546 +0,0 @@ - - - - - - - Player — Dragonflight - - - - - -
- - -
-
-
- Player -
-
- -
-
- -
-
- -
-
- -
-
- - - -
-
-
-
- - - - - - - diff --git a/services/web-ui/public/projects.html b/services/web-ui/public/projects.html deleted file mode 100644 index a10548b..0000000 --- a/services/web-ui/public/projects.html +++ /dev/null @@ -1,580 +0,0 @@ - - - - - - - Projects — Dragonflight - - - - - -
- - -
-
-
- Projects -
-
- -
-
- -
- - - - -
-
- - - -
Select a project on the left, or create a new one.
-
-
-
-
-
- - - - - - - - - - - - - diff --git a/services/web-ui/public/recorders.html b/services/web-ui/public/recorders.html deleted file mode 100644 index 1b9931c..0000000 --- a/services/web-ui/public/recorders.html +++ /dev/null @@ -1,1517 +0,0 @@ - - - - - - - Recorders — Dragonflight - - - - -
- - - -
-
-
- Recorders -
-
- -
-
- -
-
- -
-
-
- - -
-
-
- New recorder - -
-
- -
- - -
- - -
- -
- - - -
-
- - -
- - -
-
- Master recording -
-
- - - -
- - -
-
-
- - -
-
- - -
-
- -
-
- - -
ProRes / DNxHR pick bitrate from profile + resolution, so only framerate is configurable.
-
-
-
- - -
-
-
- - -
-
- - -
-
- -
- - -
-
- - -
MOV is recommended for ProRes / DNxHR masters. MXF for broadcast workflows.
-
-
-
- - -
- -
SDI sources record proxy in parallel. Network sources (SRT/RTMP) generate proxy after stop.
-
- - -
-
- Proxy -
-
- - - -
- -
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
- -
-
-
- - -
-
- - -
-
-
-
- - -
-
-
- -
-
- - -
-
-
- - -
- -
-
-
- - -
-
- - -
-
-
- -
- -
- - - - - - - - diff --git a/services/web-ui/public/settings.html b/services/web-ui/public/settings.html deleted file mode 100644 index 412c89e..0000000 --- a/services/web-ui/public/settings.html +++ /dev/null @@ -1,749 +0,0 @@ - - - - - - - Settings — Dragonflight - - - - -
- - -
-
- Settings -
-
- - -
-
-
- - - - - -
-
-
S3 / Object Storage
-
S3-compatible bucket for media asset storage (Garage, MinIO, AWS S3, etc.)
-
-
-
- -
- Initial setup required: - Configure your S3-compatible object store below. Changes take effect immediately without restarting the API. - Use Test Connection to verify credentials before saving. -
- -
-
- - -
Full URL including protocol and port. Leave blank to use AWS S3.
-
-
- - -
Required for AWS; use any value for self-hosted.
-
-
- -
- - -
- -
- - -
- -
- -
- - -
- -
- -
- - - Saved -
- -
- -
-
- - -
-
-
- - - - - -
-
-
GPU / Transcoding
-
NVIDIA NVENC acceleration for proxy generation and transcoding jobs
-
-
-
- - -
-
- Node hardware inventory - -
-
-
Loading…
-
-
- -
- - -
- -
When enabled, proxy generation and transcode jobs use NVENC instead of CPU ffmpeg.
-
- - - - -
- - Saved -
- -
-
- - -
-
-
- - - - - -
-
-
SDI Capture Service
-
Route SDI capture to a remote node with a Blackmagic DeckLink card
-
-
-
- -
- Multi-node capture routing: - By default the Capture page talks to the local capture sidecar. - Set a remote URL here to forward all SDI capture API calls to a secondary MAM node - running --profile capture (e.g. a machine with a DeckLink card). - Leave blank to use the local capture service. -
- -
- - -
Base URL of the capture service on the remote node. Leave blank for local sidecar.
-
- -
- - - Saved -
- -
- -
-
- - -
-
-
- - - -
-
-
AMPP Integration
-
Grass Valley AMPP platform connectivity for asset sync
-
-
-
- -
- - -
- -
- - - -
- -
- - - Saved -
- -
- -
-
- -
-
-
- -
- - - - - - - diff --git a/services/web-ui/public/tokens.html b/services/web-ui/public/tokens.html deleted file mode 100644 index 1551357..0000000 --- a/services/web-ui/public/tokens.html +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - Token Pricing — Dragonflight - - - - - -
- - -
-
-
- Token Pricing - / - Enterprise Compute Compliance Engine v4.7 -
- -
- -
- - -
- Dragonflight Pricing -

Per-seat · Per-stream · Per-month
Per token.

-

Welcome to the future of broadcast media operations. Tokens are fungible compute credits that flexibly meter every action across the Platform™. Move faster. Pay precisely. Forecast nothing.

-
- - -
- -
-
Starter
-
$499 / mo
-
100,000 tokens · $4.99 / 1k
-
    -
  • 1 concurrent recorder
  • -
  • SD ingest (480p · 1.2× multiplier)
  • -
  • Standard support · email · 96h SLA
  • -
  • No HD codec access
  • -
  • No ProRes write
  • -
- -
- - - -
-
Broadcast
-
$8,999 / mo
-
2,400,000 tokens · $3.75 / 1k
-
    -
  • 12 concurrent recorders
  • -
  • 4K ingest (5.8× multiplier)
  • -
  • ProRes 4444 write (4.0× multiplier)
  • -
  • Named CSM · phone · 4h SLA
  • -
  • Token rollover (90 days, fees apply)
  • -
- -
- -
-
Enterprise
-
Contact us
-
Custom token allocation
-
    -
  • Unlimited* concurrent recorders
  • -
  • 8K / IMF / DCP write tiers
  • -
  • Dedicated solutions architect
  • -
  • Quarterly token true-up audits
  • -
  • Implementation fee not included
  • -
- -
- -
- - -
- Per-Service Metering - All rates exclusive of TVM · effective Q3 FY26 -
- -
-
- - Service - Meter - Base rate - Multiplier -
- -
-
-
LibraryAsset browse, search, thumbnail render
-
Per asset · per hour
-
0.012 tokens
-
1.00×
-
- -
-
-
IngestUpload + transcode to managed proxy
-
Per GB · per pass
-
14.4 tokens / GB
-
2.4× during business hours
-
- -
-
-
Recorder · SRTCaller-mode network ingest, includes HLS preview*
-
Per minute · per recorder
-
4.8 tokens / min
-
+22% Reliability Adjustment
-
- -
-
-
Recorder · RTMPGeneric ingest tier · legacy codec compatibility
-
Per minute · per recorder
-
3.6 tokens / min
-
1.00×
-
- -
-
-
Capture · SDIDeckLink baseband ingest · 12G-SDI add-on available
-
Per minute · per SDI channel
-
9.2 tokens / min
-
1.8× premium baseband multiplier
-
- -
-
-
Live HLS PreviewReal-time delivery acceleration (RTDA™)
-
Per active viewer · per second
-
0.0008 tokens
-
3.2× CDN egress premium
-
- -
-
-
ProRes HQ WriteMastering-grade codec licensing
-
Per minute of media
-
6.4 tokens / min
-
2.4× codec entitlement fee
-
- -
-
-
Editor renderServer-side concat / trim · brand-aligned codec ladder
-
Per minute of output
-
11.8 tokens / min
-
+18% Real-Time Render Surcharge
-
- -
-
-
Background JobsProxy gen, thumbnails, folder sync
-
Per job · per CPU-second
-
0.45 tokens
-
0.85× off-peak discount
-
- -
-
-
Premiere Pro ConnectorCEP bridge · per-NLE seat compatibility license
-
Per workstation · per month
-
22,000 tokens
-
+ $99 NLE Compatibility Levy
-
- -
-
-
API callGET /api/v1/* · includes 200-byte response budget
-
Per request
-
0.0011 tokens
-
1.00× (overage 3.4×)
-
-
- - -
- Current Token Burn - Last 14 days · nightly true-up · TVM applied -
-
-
-
MTD burn+0%
-
Forecast EOMover plan
-
TVM (live)stable
-
Peak drawWed
-
-
- -
- Ingest - Recorders - Render - Overage -
-
-
- - -
-
-
Monthly token estimator
-
Honest forecasts since 2019. Actual usage may vary by up to 340%.
-
-
-
-
-
-
-
-
-
-
- Estimated monthly tokens - -
-
- At Professional tier - -
-
Includes 2.4× business-hours Ingest multiplier. Excludes overage, peak-hour surcharge, codec entitlement, and the Token Velocity Modifier (TVM™), which fluctuates between 0.8× and 4.2× without notice.
-
-
- - - - -
-
-
- - - - - - - diff --git a/services/web-ui/public/upload.html b/services/web-ui/public/upload.html deleted file mode 100644 index a4beb12..0000000 --- a/services/web-ui/public/upload.html +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - - Ingest — Dragonflight - - - - -
- - -
-
-
- Ingest -
-
- -
-
- -
-
- -
-
- - -
-
- - -
-
- - -
- -
- - - - - -
-
Drop files here or click to browse
-
Video, audio, and image files — up to 5 GB each
-
- - - - - - -
-
-
-
- -
- - - - - - - diff --git a/services/web-ui/public/users.html b/services/web-ui/public/users.html deleted file mode 100644 index 3aa9b1b..0000000 --- a/services/web-ui/public/users.html +++ /dev/null @@ -1,643 +0,0 @@ - - - - - - - Users — Dragonflight - - - - -
- - - - - -
-
-
- -
-
- -
-
- - -
- - -
- - -
-
-
- Users - -
-
-
- Username - Display name - Role - Groups - Created - Actions -
-
-
Loading…
-
-
-
-
- - -
-
-
- Groups - -
-
-
- Name - Description - Members - Created - Actions -
-
-
Loading…
-
-
-
-
-
-
- - -
-
-
- New user - -
-
- -
- - -
-
- - -
-
- - -
-
- - -
-
-
- -
- - -
-
-
- New group - -
-
- -
- - -
-
- - -
- -
- -
- -
- - - - - -