File size: 1,520 Bytes
f173e0f
 
 
 
 
 
 
 
 
1719c2a
 
f173e0f
 
 
 
 
 
1719c2a
9ec4d75
 
dd678c1
1719c2a
871f869
f173e0f
81da2d5
f173e0f
dd678c1
1719c2a
871f869
dd678c1
f173e0f
 
 
 
 
 
 
dd678c1
 
 
 
 
f173e0f
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
FROM python:3.12-slim

ENV PYTHONUNBUFFERED=1 \
    UV_COMPILE_BYTECODE=1 \
    UV_LINK_MODE=copy

RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    cmake \
    ffmpeg \
    libsndfile1 \
    && rm -rf /var/lib/apt/lists/*

COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

WORKDIR /app

COPY pyproject.toml uv.lock .python-version README.md models.yaml voice_models.yaml ./
COPY apps/gradio-space/pyproject.toml apps/gradio-space/README.md apps/gradio-space/
COPY libs/inference/pyproject.toml libs/inference/README.md libs/inference/
COPY libs/agent/pyproject.toml libs/agent/README.md libs/agent/
COPY libs/echocoach/pyproject.toml libs/echocoach/README.md libs/echocoach/
COPY libs/researchmind/pyproject.toml libs/researchmind/README.md libs/researchmind/
COPY apps/gradio-space/src apps/gradio-space/src
COPY apps/gradio-space/static apps/gradio-space/static
COPY libs/inference/src libs/inference/src
COPY libs/agent/src libs/agent/src
COPY libs/echocoach/src libs/echocoach/src
COPY libs/researchmind/src libs/researchmind/src
COPY skills skills

RUN useradd -m -u 1000 user && \
    uv sync --frozen --no-dev --package gradio-space && \
    chown -R user:user /app

USER user
ENV HOME=/home/user \
    PATH="/app/.venv/bin:$PATH" \
    AGENT_OUTPUTS_DIR=/tmp/agent_outputs \
    AGENT_TRACES_DIR=/tmp/agent_traces

RUN mkdir -p /tmp/agent_outputs /tmp/agent_traces

EXPOSE 7860

CMD ["uv", "run", "--package", "gradio-space", "python", "-m", "gradio_space.app"]