flamenco/docs/README.md
Ryan Malloy e8ea44a0a6 Implement optimized Docker development environment
- 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
2025-09-09 10:25:30 -06:00

2.8 KiB

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 Technical details of the optimization process Developers, DevOps
DOCKER_QUICK_REFERENCE.md Quick command reference and troubleshooting Daily development
MODERN_COMPOSE_SETUP.md Modern Docker Compose best practices Infrastructure setup
Mage-Build-System-Integration.md Deep dive into Mage build system architecture Build system maintainers

Quick Start

For immediate Docker development environment setup:

# 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
  • 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.