diff options
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/Dockerfile b/Dockerfile index 5bb400658..65ca8ce51 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,34 @@ FROM --platform=linux/amd64 python:3.10-slim -# Set pip to have no saved cache -ENV PIP_NO_CACHE_DIR=false \ - POETRY_VIRTUALENVS_CREATE=false +# Define Git SHA build argument for sentry +ARG git_sha="development" + +# POETRY_VIRTUALENVS_IN_PROJECT is required to ensure in-projects venvs mounted from the host in dev +# don't get prioritised by `poetry run` +ENV POETRY_VERSION=1.2.0 \ + POETRY_HOME="/opt/poetry/home" \ + POETRY_CACHE_DIR="/opt/poetry/cache" \ + POETRY_NO_INTERACTION=1 \ + POETRY_VIRTUALENVS_IN_PROJECT=false \ + APP_DIR="/bot" \ + GIT_SHA=$git_sha +ENV PATH="$POETRY_HOME/bin:$PATH" -# Install poetry -RUN pip install -U poetry +RUN apt-get update \ + && apt-get -y upgrade \ + && apt-get install --no-install-recommends -y curl \ + && apt-get clean && rm -rf /var/lib/apt/lists/* -# Create the working directory -WORKDIR /bot +RUN curl -sSL https://install.python-poetry.org | python # Install project dependencies +WORKDIR $APP_DIR COPY pyproject.toml poetry.lock ./ -RUN poetry install --no-dev - -# Define Git SHA build argument -ARG git_sha="development" - -# Set Git SHA environment variable for Sentry -ENV GIT_SHA=$git_sha +RUN poetry install --without dev # Copy the source code in last to optimize rebuilding the image COPY . . -ENTRYPOINT ["python3"] -CMD ["-m", "bot"] +ENTRYPOINT ["poetry"] +CMD ["run", "python", "-m", "bot"] |