# 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 ```bash # 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