Spaces:
Running
on
Zero
Running
on
Zero
Use docker
Browse files- Dockerfile +13 -0
- README.md +2 -3
- app.py +10 -2
- pyproject.toml +14 -0
- requirements.txt +3 -0
- uv.lock +0 -0
Dockerfile
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM --platform=linux/amd64 ghcr.io/astral-sh/uv:python3.10-bookworm
|
2 |
+
RUN useradd -m -u 1000 user
|
3 |
+
ENV HOME=/home/user \
|
4 |
+
PATH=/home/user/.local/bin:$PATH \
|
5 |
+
UV_CACHE_DIR=/home/user/.cache/uv
|
6 |
+
RUN mkdir -p ${UV_CACHE_DIR} && chown -R user:user ${HOME}
|
7 |
+
USER user
|
8 |
+
WORKDIR $HOME/app
|
9 |
+
COPY --chown=user pyproject.toml uv.lock ./
|
10 |
+
RUN uv sync --frozen --no-dev
|
11 |
+
COPY --chown=user app.py ./
|
12 |
+
EXPOSE 7860
|
13 |
+
CMD ["uv", "run", "--no-dev", "app.py"]
|
README.md
CHANGED
@@ -3,9 +3,8 @@ title: OuteTTS Speaker Creator
|
|
3 |
emoji: 📈
|
4 |
colorFrom: gray
|
5 |
colorTo: purple
|
6 |
-
sdk:
|
7 |
-
|
8 |
-
app_file: app.py
|
9 |
pinned: false
|
10 |
license: mit
|
11 |
---
|
|
|
3 |
emoji: 📈
|
4 |
colorFrom: gray
|
5 |
colorTo: purple
|
6 |
+
sdk: docker
|
7 |
+
app_port: 7860
|
|
|
8 |
pinned: false
|
9 |
license: mit
|
10 |
---
|
app.py
CHANGED
@@ -70,8 +70,16 @@ def generate_sample_audio(text: str, temperature: float, interface_state, speake
|
|
70 |
|
71 |
# Create the Gradio interface
|
72 |
with gr.Blocks(title="OuteTTS Speaker Creator", theme=gr.themes.Soft()) as demo:
|
73 |
-
|
74 |
-
gr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
# State management for multi-user support
|
77 |
interface_state = gr.State(value=None)
|
|
|
70 |
|
71 |
# Create the Gradio interface
|
72 |
with gr.Blocks(title="OuteTTS Speaker Creator", theme=gr.themes.Soft()) as demo:
|
73 |
+
# Add spacing to avoid Hugging Face header overlap
|
74 |
+
gr.HTML("<div style='height: 40px;'></div>")
|
75 |
+
|
76 |
+
with gr.Row():
|
77 |
+
gr.Markdown("""
|
78 |
+
# 🎙️ OuteTTS Speaker Creator
|
79 |
+
Create and manage speaker profiles for OuteTTS text-to-speech synthesis
|
80 |
+
""")
|
81 |
+
|
82 |
+
gr.HTML("<div style='height: 10px;'></div>")
|
83 |
|
84 |
# State management for multi-user support
|
85 |
interface_state = gr.State(value=None)
|
pyproject.toml
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[project]
|
2 |
+
name = "outetts-speaker-creator"
|
3 |
+
version = "0.1.0"
|
4 |
+
description = "Add your description here"
|
5 |
+
readme = "README.md"
|
6 |
+
requires-python = ">=3.10"
|
7 |
+
dependencies = [
|
8 |
+
"gradio>=5.35.0",
|
9 |
+
"numba==0.61.2",
|
10 |
+
"outetts",
|
11 |
+
]
|
12 |
+
|
13 |
+
[tool.uv.sources]
|
14 |
+
outetts = { git = "https://github.com/edwko/OuteTTS.git" }
|
requirements.txt
CHANGED
@@ -1,2 +1,5 @@
|
|
|
|
|
|
|
|
1 |
outetts==0.4.4
|
2 |
gradio
|
|
|
1 |
+
--extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
|
2 |
+
llama-cpp-python
|
3 |
+
numba==0.61.2
|
4 |
outetts==0.4.4
|
5 |
gradio
|
uv.lock
ADDED
The diff for this file is too large to render.
See raw diff
|
|