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:-/home/sparky/Media/_Sounds/TTS_Voices}:/voices:rw
      - ./config:/home/app/.config/tts-voice-creator:rw   # settings, presets, routes
      - ./logs:/logs:rw                                    # application logs
      - /home/sparky/Docker/tts-dgx-spark-faster-qwen3-tts/config:/tts-config:rw
      - /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
      - ./VERSION:/app/VERSION:ro
      - ./CHANGELOG.md:/app/CHANGELOG.md: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_NAME=tts-faster-qwen3-tts-voiceclone
      - TTS_CONTAINER_NAMES=tts-faster-qwen3-tts-voiceclone,tts-faster-qwen3-tts-streaming
      - VOICE_DESIGN_MODEL=Qwen3-TTS-12Hz-1.7B-VoiceDesign

    extra_hosts:
      - "host.docker.internal:host-gateway"

    networks:
      - dgx_net

networks:
  dgx_net:
    external: true
