DragonWind/docker-compose.yml
Zac Gaetano 641701edf8 feat: Dragon Wind v1.0 — dual-mode broadcast uploader
- Full VPM Uploader feature set (auth, users, folders, AMPP monitor)
- HTTP upload via presigned S3 URLs with XHR progress tracking
- UDP upload mode with relay server (WebRTC DataChannel + HTTP fallback)
- S3 Admin settings with live Test Connection (upload+delete verify)
- UDP Relay Admin settings with health check
- Standalone UDP relay server (Node.js + Docker) with multipart S3 assembly
- Chrome Extension (Manifest v3): popup, background, content script
- Dynamic S3 client — reconfigures on save without restart
- Dark/light theme, full AMPP job monitor
- docker-compose.yml with dragon-wind + udp-relay services

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 20:05:34 -04:00

65 lines
1.7 KiB
YAML

version: "3.9"
# =============================================================
# Dragon Wind — Full Stack
# Services:
# dragon-wind — Main upload web app (port 3000)
# udp-relay — UDP relay server (TCP 3001 + UDP 5000)
# =============================================================
services:
dragon-wind:
build:
context: .
dockerfile: Dockerfile
container_name: dragon-wind
restart: unless-stopped
ports:
- "${WEB_PORT:-3000}:3000"
volumes:
- dragon-wind-data:/data
environment:
- PORT=3000
- DATA_DIR=/data
- AUTH_USER=${AUTH_USER:-Admin}
- AUTH_PASS=${AUTH_PASS:-DragonWind2026!}
# S3 can also be set via Admin UI (stored in /data/dragonwind.json)
- S3_ENDPOINT=${S3_ENDPOINT:-}
- S3_REGION=${S3_REGION:-us-east-1}
- S3_BUCKET=${S3_BUCKET:-}
- S3_ACCESS_KEY=${S3_ACCESS_KEY:-}
- S3_SECRET_KEY=${S3_SECRET_KEY:-}
# Relay URL for UDP mode
- RELAY_URL=${RELAY_URL:-http://udp-relay:3001}
- UDP_PORT=${UDP_PORT:-5000}
# AMPP (optional)
- AMPP_BASE_URL=${AMPP_BASE_URL:-https://us-east-1.gvampp.com}
- AMPP_API_KEY=${AMPP_API_KEY:-}
depends_on:
- udp-relay
networks:
- dragon-wind-net
udp-relay:
build:
context: ./udp-relay
dockerfile: Dockerfile
container_name: dragon-wind-relay
restart: unless-stopped
ports:
- "${RELAY_TCP_PORT:-3001}:3001" # Control API (TCP)
- "${RELAY_UDP_PORT:-5000}:5000/udp" # Data transfer (UDP)
environment:
- PORT=3001
- UDP_PORT=5000
- MAX_SESSIONS=${MAX_RELAY_SESSIONS:-50}
networks:
- dragon-wind-net
volumes:
dragon-wind-data:
networks:
dragon-wind-net:
driver: bridge