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

134 lines
3.2 KiB
Markdown

# 🐳 Flamenco Docker Quick Reference
## 🚀 Quick Start
```bash
# 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
```bash
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
```bash
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
```bash
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
```bash
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)
```bash
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
```bash
# Install Docker Compose plugin
sudo apt install docker-compose-plugin
# Check versions
docker --version
docker compose version
```
### Network Issues
```bash
# Create external network
docker network create caddy
# Restart caddy proxy
docker restart caddy-docker-proxy
```
### Build Issues
```bash
# Clean rebuild
make -f Makefile.docker dev-rebuild
# Clean everything
make -f Makefile.docker clean-all
```
### Service Issues
```bash
# 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