7 Commits

Author SHA1 Message Date
Daniel Cox
99a205d483 fix: remove VOXCPM_LANG env var (depends on i18n PR #380) 2026-09-02 12:28:37 +09:30
Daniel Cox
6912e0ffa5 fix: remove reference to non-existent deploy/Dockerfile.voxcpm-unified 2026-09-02 12:28:20 +09:30
Daniel Cox
e0369f0c7b fix: nginx health check probes backend instead of static 200 2026-09-02 12:28:04 +09:30
Daniel Cox
4af38a9ddc fix: replace FORWARDED_ALLOW_IPS with nginx map, add .dockerignore
HTTPS proxy handling moved entirely to nginx (map $http_x_forwarded_proto).

- .dockerignore to exclude models/data/lora/output from build context
- nginx: manifest.json returns proper JSON for PWA, favicon returns 204
- docker-compose: drop version key, remove FORWARDED_ALLOW_IPS env var
- README: update HTTPS troubleshooting (nginx map handles it now)
2026-08-12 11:57:37 +09:30
Daniel Cox
74b98d2c1e fix: trust forwarded headers for HTTPS file URLs
Add FORWARDED_ALLOW_IPS=* so uvicorn/Gradio trusts X-Forwarded-Proto
from nginx in Docker (bridge network 172.x.x.x). Without this, Gradio
generates http:// file URLs behind HTTPS proxies, causing mixed-content
errors that block audio playback.
2026-08-12 09:02:15 +09:30
Daniel Cox
da5b2da097 fix: add health check + clarify volume mounts
- 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/)
2026-08-11 21:46:24 +09:30
Daniel Cox
85df305079 feat: add Docker support and reverse-proxy compatibility
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.
2026-08-11 19:15:10 +09:30