Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update UI access with environment URL and PORT #51

Merged
merged 5 commits into from
Jan 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ The service can be accessed through either the API endpoints or the Gradio web i
docker compose up --build
```

Once started:
- The API will be available at http://localhost:8880
- The UI can be accessed at http://localhost:7860

__Or__ running the API alone using Docker (model + voice packs baked in) (Most Recent):

```bash
Expand All @@ -46,7 +50,7 @@ The service can be accessed through either the API endpoints or the Gradio web i
```


2. Run locally as an OpenAI-Compatible Speech Endpoint
4. Run locally as an OpenAI-Compatible Speech Endpoint
```python
from openai import OpenAI
client = OpenAI(
Expand Down Expand Up @@ -181,8 +185,19 @@ If you only want the API, just comment out everything in the docker-compose.yml

Currently, voices created via the API are accessible here, but voice combination/creation has not yet been added

*Note: Recent updates for streaming could lead to temporary glitches. If so, pull from the most recent stable release v0.0.2 to restore*

Running the UI Docker Service
- If you only want to run the Gradio web interface separately and connect it to an existing API service:
```bash
docker run -p 7860:7860 \
-e API_HOST=<api-hostname-or-ip> \
-e API_PORT=8880 \
ghcr.io/remsky/kokoro-fastapi-ui:v0.1.0
```

- Replace `<api-hostname-or-ip>` with:
- `kokoro-tts` if the UI container is running in the same Docker Compose setup.
- `localhost` if the API is running on your local machine.

### Disabling Local Saving

You can disable local saving of audio files and hide the file view in the UI by setting the `DISABLE_LOCAL_SAVING` environment variable to `true`. This is useful when running the service on a server where you don't want to store generated audio files locally.
Expand Down
2 changes: 2 additions & 0 deletions docker/cpu/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ services:
- GRADIO_WATCH=True # Enable hot reloading
- PYTHONUNBUFFERED=1 # Ensure Python output is not buffered
- DISABLE_LOCAL_SAVING=false # Set to 'true' to disable local saving and hide file view
- API_HOST=kokoro-tts # Set TTS service URL
- API_PORT=8880 # Set TTS service PORT
2 changes: 2 additions & 0 deletions docker/gpu/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ services:
- GRADIO_WATCH=1 # Enable hot reloading
- PYTHONUNBUFFERED=1 # Ensure Python output is not buffered
- DISABLE_LOCAL_SAVING=false # Set to 'true' to disable local saving and hide file view
- API_HOST=kokoro-tts # Set TTS service URL
- API_PORT=8880 # Set TTS service PORT
3 changes: 3 additions & 0 deletions ui/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,8 @@ RUN mkdir -p data/inputs data/outputs
# Copy the application files
COPY . .

ENV API_HOST=kokoro-tts
ENV API_PORT=8880

# Run the Gradio app
CMD ["python", "app.py"]
4 changes: 3 additions & 1 deletion ui/lib/config.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import os

# API Configuration
API_URL = "http://kokoro-tts:8880"
API_HOST = os.getenv("API_HOST", "kokoro-tts")
API_PORT = os.getenv("API_PORT", "8880")
API_URL = f"http://{API_HOST}:{API_PORT}"

# File paths
INPUTS_DIR = "/app/ui/data/inputs"
Expand Down
Loading