Dragonflight - self-hosted broadcast media asset management. SRT/RTMP/SDI ingest via Blackmagic DeckLink, FFmpeg proxy generation, growing-file editing via SMB + Premiere Pro CEP panel, BullMQ job queue, S3-compatible storage (RustFS). Replaces Grass Valley AMPP FramelightX.
Migration 004 wrapped table creation in IF NOT EXISTS, so deploys with a pre-existing cluster_nodes table never picked up the inline UNIQUE constraint and accumulated duplicate hostnames on every container restart. This migration purges older duplicates and adds the unique index idempotently so the ON CONFLICT (hostname) upsert finally works. |
||
|---|---|---|
| deploy | ||
| docs/superpowers | ||
| services | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.gpu.yml | ||
| docker-compose.worker.yml | ||
| docker-compose.yml | ||
| README.md | ||
| setup-repo.sh | ||
Wild Dragon
Self-hosted Media Asset Management platform built to replace Grass Valley AMPP FramelightX.
Services
| Service | Port | Description |
|---|---|---|
| web-ui | 8080 | Browser-based MAM interface + capture controls |
| mam-api | 3000 | REST API — assets, projects, bins, jobs |
| capture | 3001 | SDI capture daemon (Blackmagic DeckLink + FFmpeg) |
| worker | — | Async job processor (proxy gen, thumbnails, conform) |
| db | 5432 | PostgreSQL 16 metadata store |
| queue | 6379 | Redis 7 job queue (BullMQ) |
Quick Start
# Clone
git clone https://forge.wilddragon.net/zgaetano/wild-dragon.git
cd wild-dragon
# Configure
cp .env.example .env
# Edit .env with your S3 credentials and secrets
# Launch
docker compose up -d
# Open
open http://localhost:8080
Architecture
SDI Input (DeckLink) → capture service → dual FFmpeg streams
├─ HiRes (ProRes) → S3
└─ Proxy (H.264) → S3
↓
web-ui ← mam-api ← PostgreSQL ← worker (BullMQ)
├─ proxy_gen
├─ thumbnail
└─ conform (EDL → FFmpeg → export)
Tech Stack
- Backend: Node.js / Express
- Frontend: Vanilla HTML/CSS/JS
- Database: PostgreSQL 16
- Queue: Redis 7 + BullMQ
- Storage: S3-compatible (RustFS)
- Media Processing: FFmpeg
- Capture: Blackmagic DeckLink SDK
- Deployment: Docker Compose
License
MIT