Security fixes: - Block /proc /sys /dev /run /boot in /api/browse-dirs (path traversal) - Verify yt-dlp output stays inside TEMP_DIR before registration - Remove Access-Control-Allow-Origin: * from /api/proxy-audio - TTL-based temp file registry (default 2h) to prevent disk fill Performance: - Cache settings + routing rules in memory (mtime-checked); eliminates per-request disk reads on every TTS call UI: - Add container name (optional) field to Docker stack TTS/STT engine cards (Qwen3 Voice Clone, Voice Design, Custom Voice, Streaming, NVIDIA Magpie, Parakeet) — enables Stop/Start/Restart buttons on all engine cards, matching the existing Other Local TTS/STT cards Refactor — backend: - server.py: 5560 lines → 43-line entry point - core/ package: constants, registry, validation, docker_client, config, routing, audio, voice, presets, tts_helpers - routes/ package: admin, settings, library, stt, sources, docker, tts, conversation (FastAPI APIRouter modules) - Dockerfile + docker-compose.yml updated to include core/ and routes/ Refactor — frontend: - static/app.js: 8744 lines → 16 modules in static/js/ utils, voice-inspector, voice-sources, integrations, routing, settings, voice-clone, voice-library, tts-preview, benchmark, stt, init, engines, ai-backends, generation, conversation - static/loader.js updated to load modules sequentially Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
services:
|
|
tts-voice-creator-clone-and-design-2:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: tts-voice-creator-clone-and-design-2:latest
|
|
container_name: tts-voice-creator-clone-and-design-2
|
|
restart: unless-stopped
|
|
|
|
ports:
|
|
- "7890:7890"
|
|
|
|
# Give the app user access to the Docker socket (GID of docker group on host)
|
|
group_add:
|
|
- "${DOCKER_GID:-988}"
|
|
|
|
volumes:
|
|
- ${VOICE_HOST_DIR:-./voices}:/voices:rw
|
|
- tts-voice-creator-clone-and-design-2:/home/app/.config/tts-voice-creator
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- ./static:/app/static:ro
|
|
- ./server.py:/app/server.py:ro
|
|
- ./core:/app/core:ro
|
|
- ./routes:/app/routes:ro
|
|
|
|
environment:
|
|
- PYTHONUNBUFFERED=1
|
|
- VOICES_DIR=/voices
|
|
- OUTPUT_DIR=/voices/active_voices
|
|
# Containers that load WAV files and need a restart after voice changes
|
|
- TTS_CONTAINER_NAMES=faster-qwen3-tts-voiceclone,faster-qwen3-tts-streaming
|
|
- VOICE_DESIGN_MODEL=Qwen3-TTS-12Hz-1.7B-VoiceDesign
|
|
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
networks:
|
|
- dgx_net
|
|
|
|
volumes:
|
|
tts-voice-creator-clone-and-design-2:
|
|
|
|
networks:
|
|
dgx_net:
|
|
external: true
|