Kokoro-FastAPI/docker/gpu/docker-compose.yml

72 lines
2.1 KiB
YAML
Raw Normal View History

services:
# model-fetcher:
# image: datamachines/git-lfs:latest
# environment:
# - SKIP_MODEL_FETCH=${SKIP_MODEL_FETCH:-false}
# volumes:
# - ./Kokoro-82M:/app/Kokoro-82M
# working_dir: /app/Kokoro-82M
# command: >
# sh -c "
# if [ \"$$SKIP_MODEL_FETCH\" = \"true\" ]; then
# echo 'Skipping model fetch...' && touch .cloned;
# else
# rm -f .git/index.lock;
# if [ -z \"$(ls -A .)\" ]; then
# git clone https://huggingface.co/hexgrad/Kokoro-82M .
# touch .cloned;
# else
# rm -f .git/index.lock && \
# git checkout main && \
# git pull origin main && \
# touch .cloned;
# fi;
# fi;
# tail -f /dev/null
# "
# healthcheck:
# test: ["CMD", "test", "-f", ".cloned"]
# interval: 5s
# timeout: 2s
# retries: 300
# start_period: 1s
kokoro-tts:
# image: ghcr.io/remsky/kokoro-fastapi:latest
# Uncomment below to build from source instead of using the released image
build:
context: ../..
dockerfile: docker/gpu/Dockerfile
volumes:
- ../../api/src:/app/api/src
- ../../Kokoro-82M:/app/Kokoro-82M
ports:
- "8880:8880"
environment:
- PYTHONPATH=/app:/app/Kokoro-82M
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
# depends_on:
# model-fetcher:
# condition: service_healthy
# Gradio UI service [Comment out everything below if you don't need it]
# gradio-ui:
# image: ghcr.io/remsky/kokoro-fastapi:latest-ui
# Uncomment below to build from source instead of using the released image
# build:
# context: ./ui
# ports:
# - "7860:7860"
# volumes:
# - ./ui/data:/app/ui/data
# - ./ui/app.py:/app/app.py # Mount app.py for hot reload
# environment:
# - GRADIO_WATCH=1 # Enable hot reloading
# - PYTHONUNBUFFERED=1 # Ensure Python output is not buffered