From 58c4a4ad8cf199c4f59a225d96fafd8da49a12ed Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sat, 6 Dec 2025 16:16:03 +0300 Subject: Chore: move docker/tts/stt inside of batteries dir --- Makefile | 38 +++++++++++++++++++------------------- batteries/docker-compose.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 42 ------------------------------------------ 3 files changed, 61 insertions(+), 61 deletions(-) create mode 100644 batteries/docker-compose.yml delete mode 100644 docker-compose.yml diff --git a/Makefile b/Makefile index c5e9708..8265dda 100644 --- a/Makefile +++ b/Makefile @@ -12,45 +12,45 @@ setconfig: lint: ## Run linters. Use make install-linters first. golangci-lint run -c .golangci.yml ./... -# Whisper STT Setup +# Whisper STT Setup (in batteries directory) setup-whisper: build-whisper download-whisper-model -build-whisper: ## Build whisper.cpp from source - @echo "Building whisper.cpp from source..." - @if [ ! -d "whisper.cpp" ]; then \ - echo "Cloning whisper.cpp repository..."; \ - git clone https://github.com/ggml-org/whisper.cpp.git; \ +build-whisper: ## Build whisper.cpp from source in batteries directory + @echo "Building whisper.cpp from source in batteries directory..." + @if [ ! -d "batteries/whisper.cpp" ]; then \ + echo "Cloning whisper.cpp repository to batteries directory..."; \ + git clone https://github.com/ggml-org/whisper.cpp.git batteries/whisper.cpp; \ fi - cd whisper.cpp && make build + cd batteries/whisper.cpp && make build @echo "Creating symlink to whisper-cli binary..." - @ln -sf whisper.cpp/build/bin/whisper-cli ./whisper-cli + @ln -sf batteries/whisper.cpp/build/bin/whisper-cli ./whisper-cli @echo "Whisper binary built successfully!" -download-whisper-model: ## Download Whisper model for STT +download-whisper-model: ## Download Whisper model for STT in batteries directory @echo "Downloading Whisper model for STT..." - @if [ ! -d "whisper.cpp" ]; then \ + @if [ ! -d "batteries/whisper.cpp" ]; then \ echo "Please run 'make setup-whisper' first to clone the repository."; \ exit 1; \ fi - @cd whisper.cpp && make tiny.en + @cd batteries/whisper.cpp && make tiny.en @echo "Creating symlink to Whisper model..." - @ln -sf whisper.cpp/models/ggml-tiny.en.bin ./ggml-model.bin + @ln -sf batteries/whisper.cpp/models/ggml-tiny.en.bin ./ggml-model.bin @echo "Whisper model downloaded successfully!" -# Docker targets for STT/TTS services -docker-up: ## Start Docker Compose services for STT and TTS +# Docker targets for STT/TTS services (in batteries directory) +docker-up: ## Start Docker Compose services for STT and TTS from batteries directory @echo "Starting Docker services for STT (whisper) and TTS (kokoro)..." - docker-compose up -d + docker-compose -f batteries/docker-compose.yml up -d @echo "Docker services started. STT available at http://localhost:8081, TTS available at http://localhost:8880" -docker-down: ## Stop Docker Compose services +docker-down: ## Stop Docker Compose services from batteries directory @echo "Stopping Docker services..." - docker-compose down + docker-compose -f batteries/docker-compose.yml down @echo "Docker services stopped" -docker-logs: ## View logs from Docker services +docker-logs: ## View logs from Docker services in batteries directory @echo "Displaying logs from Docker services..." - docker-compose logs -f + docker-compose -f batteries/docker-compose.yml logs -f # Convenience target to setup everything setup-complete: setup-whisper docker-up diff --git a/batteries/docker-compose.yml b/batteries/docker-compose.yml new file mode 100644 index 0000000..d29cbf4 --- /dev/null +++ b/batteries/docker-compose.yml @@ -0,0 +1,42 @@ +services: + # Whisper.cpp STT service + whisper: + image: ghcr.io/ggml-org/whisper.cpp:main-cuda + container_name: whisper-stt + ports: + - "8081:8081" + volumes: + - ./models:/app/models + - ./audio:/app/audio + working_dir: /app + entrypoint: "" + command: ["./build/bin/whisper-server", "-m", "/app/models/ggml-large-v3-turbo-q5_0", "-t", "4", "-p", "1", "--port", "8081", "--host", "0.0.0.0"] + environment: + - WHISPER_LOG_LEVEL=3 + # Restart policy in case the service fails + restart: unless-stopped + + # Kokoro-FastAPI TTS service + kokoro-tts: + # image: ghcr.io/remsky/kokoro-fastapi-cpu:latest + image: ghcr.io/remsky/kokoro-fastapi-gpu:latest + container_name: kokoro-tts + ports: + - "8880:8880" + environment: + - API_LOG_LEVEL=INFO + # For GPU support, uncomment the following lines: + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + restart: unless-stopped + +volumes: + models: + driver: local + audio: + driver: local diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index c014814..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,42 +0,0 @@ -services: - # Whisper.cpp STT service - whisper: - image: ghcr.io/ggml-org/whisper.cpp:main - container_name: whisper-stt - ports: - - "8081:8081" - volumes: - - ./models:/app/models - - ./audio:/app/audio - working_dir: /app - entrypoint: "" - command: ["./build/bin/whisper-server", "-m", "/app/models/ggml-tiny.en.bin", "-t", "4", "-p", "1", "--port", "8081", "--host", "0.0.0.0"] - environment: - - WHISPER_LOG_LEVEL=3 - # Restart policy in case the service fails - restart: unless-stopped - - # Kokoro-FastAPI TTS service - kokoro-tts: - # image: ghcr.io/remsky/kokoro-fastapi-cpu:latest - image: ghcr.io/remsky/kokoro-fastapi-gpu:latest - container_name: kokoro-tts - ports: - - "8880:8880" - environment: - - API_LOG_LEVEL=INFO - # For GPU support, uncomment the following lines: - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: 1 - capabilities: [gpu] - restart: unless-stopped - -volumes: - models: - driver: local - audio: - driver: local -- cgit v1.2.3