diff --git a/Dockerfile b/Dockerfile index 2c3f639..9e86e1c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,16 @@ ARG PYTHON=3.13 FROM python:${PYTHON}-alpine AS builder -RUN pip install --no-cache poetry - -ENV POETRY_NO_INTERACTION=1 \ - POETRY_VIRTUALENVS_IN_PROJECT=1 \ - POETRY_VIRTUALENVS_CREATE=1 \ - POETRY_VIRTUALENVS_OPTIONS_NO_PIP=1 \ - POETRY_VIRTUALENVS_OPTIONS_NO_SETUPTOOLS=1 \ - POETRY_CACHE_DIR=/tmp/poetry_cache +# Install uv +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ WORKDIR /app -COPY pyproject.toml poetry.lock ./ - -RUN poetry install --only=main --no-root && \ - rm -rf $POETRY_CACHE_DIR +# The operation fails if the readme is missing +RUN --mount=type=bind,source=uv.lock,target=uv.lock \ + --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ + --mount=type=bind,source=README.md,target=README.md \ + uv sync --frozen --no-dev --no-editable FROM python:${PYTHON}-alpine @@ -25,6 +20,6 @@ ENV VIRTUAL_ENV=/app/.venv \ PATH="/app/.venv/bin:$PATH" COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV} -COPY src/*.py ./src/ +COPY src/tvb/*.py ./src/ CMD ["python", "-m", "src", "--host", "0.0.0.0"]