flamenco/docs/DOCKER_QUICK_REFERENCE.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

3.2 KiB

🐳 Flamenco Docker Quick Reference

🚀 Quick Start

# Setup everything
make -f Makefile.docker caddy-proxy
make -f Makefile.docker dev-setup

# Start core services
make -f Makefile.docker dev-start

# Start development tools
make -f Makefile.docker dev-tools

🌐 Access URLs

Via Reverse Proxy (HTTPS)

Direct Access

📋 Common Commands

Service Management

make -f Makefile.docker up          # Start core services
make -f Makefile.docker dev-tools   # Start dev tools
make -f Makefile.docker down        # Stop all services
make -f Makefile.docker ps          # Show status
make -f Makefile.docker logs        # Show logs

Development

make -f Makefile.docker shell-manager    # Manager shell
make -f Makefile.docker generate         # Regenerate API
make -f Makefile.docker test            # Run tests
make -f Makefile.docker webapp-build    # Build webapp

Database

make -f Makefile.docker db-status   # Migration status
make -f Makefile.docker db-up       # Apply migrations
make -f Makefile.docker db-down     # Rollback migrations

Cleanup

make -f Makefile.docker dev-clean      # Clean environment
make -f Makefile.docker dev-rebuild    # Rebuild everything
make -f Makefile.docker clean-all      # Nuclear option

🔧 Configuration

Environment Variables (.env)

COMPOSE_PROJECT_NAME=flamenco-dev
DOMAIN=flamenco.l.supported.systems
MANAGER_PORT=8080
WEBAPP_DEV_PORT=8081
LOG_LEVEL=debug

File Structure

flamenco/
├── compose.dev.yml          # Docker Compose services
├── Dockerfile.dev           # Multi-stage build
├── Makefile.docker         # Management commands
├── .env                    # Environment config
├── scripts/
│   ├── nginx-profiling.conf # Profiling proxy
│   └── dev-setup.sh        # Legacy setup script
└── DOCKER_*.md             # Documentation

🆘 Troubleshooting

Prerequisites Issues

# Install Docker Compose plugin
sudo apt install docker-compose-plugin

# Check versions
docker --version
docker compose version

Network Issues

# Create external network
docker network create caddy

# Restart caddy proxy
docker restart caddy-docker-proxy

Build Issues

# Clean rebuild
make -f Makefile.docker dev-rebuild

# Clean everything
make -f Makefile.docker clean-all

Service Issues

# Check logs
make -f Makefile.docker logs-manager
make -f Makefile.docker logs-worker

# Restart services
make -f Makefile.docker dev-restart

💡 Tips

  • Use make -f Makefile.docker help to see all commands
  • Services auto-restart on failure
  • Volumes persist data between restarts
  • Hot-reload works for Vue.js development
  • API changes require make generate + restart