2024-12-30 04:17:50 -07:00
|
|
|
services:
|
2024-12-31 03:41:45 -07:00
|
|
|
model-fetcher:
|
|
|
|
image: datamachines/git-lfs:latest
|
|
|
|
volumes:
|
|
|
|
- ./Kokoro-82M:/app/Kokoro-82M
|
|
|
|
working_dir: /app/Kokoro-82M
|
|
|
|
command: >
|
|
|
|
sh -c "
|
2025-01-01 17:38:22 -07:00
|
|
|
rm -f .git/index.lock;
|
2024-12-31 03:41:45 -07:00
|
|
|
if [ -z \"$(ls -A .)\" ]; then
|
2025-01-01 17:38:22 -07:00
|
|
|
git clone https://huggingface.co/hexgrad/Kokoro-82M
|
2024-12-31 03:41:45 -07:00
|
|
|
touch .cloned;
|
|
|
|
else
|
2025-01-01 17:38:22 -07:00
|
|
|
rm -f .git/index.lock && \
|
|
|
|
git checkout main && \
|
|
|
|
git pull origin main && \
|
2024-12-31 03:41:45 -07:00
|
|
|
touch .cloned;
|
|
|
|
fi;
|
|
|
|
tail -f /dev/null
|
|
|
|
"
|
|
|
|
healthcheck:
|
|
|
|
test: ["CMD", "test", "-f", ".cloned"]
|
2025-01-01 17:38:22 -07:00
|
|
|
interval: 3s
|
2024-12-31 03:41:45 -07:00
|
|
|
timeout: 1s
|
|
|
|
retries: 120
|
|
|
|
start_period: 1s
|
|
|
|
|
2024-12-30 04:17:50 -07:00
|
|
|
kokoro-tts:
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
volumes:
|
2024-12-31 01:52:16 -07:00
|
|
|
- ./api/src:/app/api/src
|
|
|
|
- ./Kokoro-82M:/app/Kokoro-82M
|
2024-12-30 04:17:50 -07:00
|
|
|
ports:
|
|
|
|
- "8880:8880"
|
2024-12-31 01:52:16 -07:00
|
|
|
environment:
|
|
|
|
- PYTHONPATH=/app:/app/Kokoro-82M
|
2024-12-30 04:17:50 -07:00
|
|
|
deploy:
|
|
|
|
resources:
|
|
|
|
reservations:
|
|
|
|
devices:
|
|
|
|
- driver: nvidia
|
|
|
|
count: 1
|
|
|
|
capabilities: [gpu]
|
2024-12-31 03:41:45 -07:00
|
|
|
depends_on:
|
|
|
|
model-fetcher:
|
|
|
|
condition: service_healthy
|
2025-01-01 17:38:22 -07:00
|
|
|
|
2025-01-01 21:50:00 -07:00
|
|
|
# Gradio UI service [Comment out everything below if you don't need it]
|
|
|
|
gradio-ui:
|
|
|
|
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=True # Enable hot reloading
|