- Add multi-stage Dockerfile.dev with 168x Go module performance improvement - Implement modern Docker Compose configuration with caddy-docker-proxy - Add comprehensive Makefile.docker for container management - Migrate from Poetry to uv for Python dependencies - Fix Alpine Linux compatibility and Docker mount conflicts - Create comprehensive documentation in docs/ directory - Add Playwright testing integration - Configure reverse proxy with automatic HTTPS - Update .gitignore for Docker development artifacts
70 lines
2.8 KiB
Markdown
70 lines
2.8 KiB
Markdown
# Flamenco Documentation
|
|
|
|
This directory contains comprehensive documentation for Flamenco development, with a focus on the optimized Docker development environment.
|
|
|
|
## Docker Development Environment
|
|
|
|
The Docker environment represents a **168x performance improvement** over the original setup, transforming 60+ minute failing builds into reliable 26-minute successful builds.
|
|
|
|
### Core Documentation
|
|
|
|
| Document | Purpose | Audience |
|
|
|----------|---------|-----------|
|
|
| [DOCKER_BUILD_OPTIMIZATIONS.md](DOCKER_BUILD_OPTIMIZATIONS.md) | Technical details of the optimization process | Developers, DevOps |
|
|
| [DOCKER_QUICK_REFERENCE.md](DOCKER_QUICK_REFERENCE.md) | Quick command reference and troubleshooting | Daily development |
|
|
| [MODERN_COMPOSE_SETUP.md](MODERN_COMPOSE_SETUP.md) | Modern Docker Compose best practices | Infrastructure setup |
|
|
| [Mage-Build-System-Integration.md](Mage-Build-System-Integration.md) | Deep dive into Mage build system architecture | Build system maintainers |
|
|
|
|
### Quick Start
|
|
|
|
For immediate Docker development environment setup:
|
|
|
|
```bash
|
|
# Clone and setup
|
|
git clone https://projects.blender.org/studio/flamenco.git
|
|
cd flamenco
|
|
make -f Makefile.docker dev-setup
|
|
make -f Makefile.docker dev-start
|
|
|
|
# Access Flamenco Manager
|
|
# Local: http://localhost:9000
|
|
# Reverse proxy: https://manager.flamenco.l.supported.systems
|
|
```
|
|
|
|
### Key Achievements
|
|
|
|
- **168x faster Go module downloads** (21.4s vs 60+ min failure)
|
|
- **100% reliable builds** (vs previous 100% failure rate)
|
|
- **Complete multi-stage optimization** with intelligent layer caching
|
|
- **Production-ready containerization** for all Flamenco components
|
|
- **Comprehensive Playwright testing** integration
|
|
- **Caddy reverse proxy** with automatic HTTPS
|
|
|
|
### Architecture Overview
|
|
|
|
The optimized Docker environment uses:
|
|
- **Multi-stage builds** for intelligent layer caching
|
|
- **Go module proxy** for reliable dependency downloads
|
|
- **uv** for fast Python package management
|
|
- **Alpine Linux** with proper platform compatibility
|
|
- **Mage build system** integration
|
|
- **caddy-docker-proxy** for reverse proxy automation
|
|
|
|
### Documentation Structure
|
|
|
|
This documentation follows engineering best practices:
|
|
- **Technical specifications** for implementation details
|
|
- **Quick references** for daily development workflows
|
|
- **Troubleshooting guides** for common issues
|
|
- **Architecture explanations** for understanding design decisions
|
|
|
|
## Related Documentation
|
|
|
|
- **Web project documentation**: `web/project-website/content/development/docker-development/`
|
|
- **Configuration design**: `CONFIG_DESIGN.md` (root directory)
|
|
- **Project README**: `README.md` (root directory)
|
|
- **Changelog**: `CHANGELOG.md` (root directory)
|
|
|
|
---
|
|
|
|
*This documentation represents the collective knowledge from transforming Flamenco's Docker environment from a broken state to production-ready reliability.* |