- nginx: return 200 OK on GET / for load balancer health checks
- Dockerfile: set HF_HOME=/app/models so Hub downloads persist in mounted volume
- Dockerfile: add /app/data directory and volume declaration
- docker-compose: explicit volume mounts for models, data, lora, output
- README: document where to put training files and find output
- .gitignore: exclude volume mount directories (models/, data/, lora/, output/)
Add Docker infrastructure for running the training WebUI in containers:
- Dockerfile based on PyTorch CUDA base image with layer-cached deps
- docker-compose.yml with GPU support and nginx reverse proxy
- nginx.conf with WebSocket support for Gradio
Code fixes for container environments:
- Stream training subprocess stdout/stderr to Docker logs
- Support GRADIO_ROOT_PATH env var for reverse proxy (nginx/Traefik)
- Echo startup URL to stdout for container log discovery
All changes are backward-compatible: without Docker or env vars,
behavior is identical to before.