FROM python:3.12-slim-bookworm

WORKDIR /app

# Runtime libs used by pipecat audio / ML wheels
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    libsndfile1 \
    && rm -rf /var/lib/apt/lists/*

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

ENV UV_COMPILE_BYTECODE=1
ENV UV_LINK_MODE=copy
ENV PORT=7860

COPY pyproject.toml uv.lock ./
RUN  uv sync --locked --no-install-project --no-dev

COPY auth/ auth/
COPY adapters/ adapters/
COPY domain/ domain/
COPY ports/ ports/
COPY prompt/ prompt/
COPY tools/ tools/
COPY use_cases/ use_cases/
COPY app_resources.py bot.py dependencies.py server.py server_utils.py ./

EXPOSE 7860

CMD ["uv", "run", "server.py"]
