Overview
This is a product requirements document (PRD) for implementing a two-tier Docker-based build system that separates WebRTC compilation (expensive, infrequent) from WebRtcNet compilation (cheap, frequent).
Full PRD: See PRD-docker-build-system.md in the repository
Problem
- New contributor setup takes 2+ hours (Windows SDK, depot_tools, 10GB download)
- Each build takes 60-90 minutes (rebuilds WebRTC every time)
- No Codespaces support (requires full Windows machine)
- Expensive CI costs (~/year on GitHub Actions)
Solution
- WebRTC Builder Image: Builds once monthly, publishes to GHCR (~250 MB, .45/build)
- WebRtcNet Builder Image: Uses WebRTC as base, builds in 10-15 minutes (.05-0.10/build)
- Result: 71-76% cost savings + Codespaces support + 15-20 min build time for new contributors
Expected Outcomes
✅ Developer setup: 10 minutes (vs. 2+ hours)
✅ Local rebuild: 15 minutes (vs. 60+ minutes)
✅ CI costs: .45/month (vs. .00/month, 71% savings)
✅ Codespaces support: Now viable for full development
✅ New contributor friction: Dramatically reduced
Key Components
- Dockerfile.webrtc - Multi-stage build for WebRTC artifacts
- Dockerfile.webrtcnet - Lightweight build inheriting WebRTC base
- GitHub Actions workflows - Smart change detection + conditional builds
- Documentation - CONTRIBUTING.md with setup instructions for Docker, Local, Codespaces
Details
See PRD-docker-build-system.md for complete details including:
- 20 detailed user stories
- Implementation decisions with rationale
- Testing strategy
- Out-of-scope items
- Cost savings validation and success metrics
Overview
This is a product requirements document (PRD) for implementing a two-tier Docker-based build system that separates WebRTC compilation (expensive, infrequent) from WebRtcNet compilation (cheap, frequent).
Full PRD: See PRD-docker-build-system.md in the repository
Problem
Solution
Expected Outcomes
✅ Developer setup: 10 minutes (vs. 2+ hours)
✅ Local rebuild: 15 minutes (vs. 60+ minutes)
✅ CI costs: .45/month (vs. .00/month, 71% savings)
✅ Codespaces support: Now viable for full development
✅ New contributor friction: Dramatically reduced
Key Components
Details
See PRD-docker-build-system.md for complete details including: