- 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
3.2 KiB
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)
- Manager: https://manager.flamenco.l.supported.systems
- Frontend: https://flamenco.l.supported.systems
- Docs: https://docs.flamenco.l.supported.systems
- Profiling: https://profiling.flamenco.l.supported.systems
Direct Access
- Manager: http://localhost:8080
- Vue.js Dev: http://localhost:8081
- Hugo Docs: http://localhost:1313
- Profiling: http://localhost:8082
📋 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