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