- 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
134 lines
3.2 KiB
Markdown
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 |