# Install uv
FROM python:3.12-slim
# Install tini
RUN apt-get update && \
apt-get install -y --no-install-recommends tini && \
rm -rf /var/lib/apt/lists/*
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
# Change the working directory to the `app` directory
WORKDIR /app
# Copy the lockfile and `pyproject.toml` into the image
COPY uv.lock /app/uv.lock
COPY pyproject.toml /app/pyproject.toml
# Install dependencies
RUN uv sync --frozen --no-install-project
# Copy the project into the image
COPY . /app
# Sync the project
RUN uv sync --frozen
# Run the server
ENTRYPOINT ["tini", "--", "uv", "run", "mcp-toolbox"]
CMD ["stdio"]