- 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>
65 lines
1.7 KiB
YAML
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
|