llama-index
39 строк · 1.1 Кб
1FROM --platform=linux/amd64 python:3.10-slim as builder
2
3WORKDIR /app
4
5ENV POETRY_VERSION=1.7.1
6
7# Install libraries for necessary python package builds
8RUN apt-get update && apt-get install build-essential python3-dev libpq-dev -y
9
10RUN pip install --upgrade pip
11RUN pip install --upgrade poetry==${POETRY_VERSION}
12
13# Configure Poetry
14ENV POETRY_CACHE_DIR=/tmp/poetry_cache
15ENV POETRY_NO_INTERACTION=1
16ENV POETRY_VIRTUALENVS_IN_PROJECT=true
17ENV POETRY_VIRTUALENVS_CREATE=true
18
19# Install dependencies
20COPY contributor-1/poetry.lock contributor-1/pyproject.toml ./
21
22RUN poetry install --no-cache --no-root
23
24FROM --platform=linux/amd64 python:3.10-slim as runtime
25
26RUN apt-get update && apt-get install libpq5 -y && rm -rf /var/lib/apt/lists/* # Install libpq for psycopg2
27
28RUN groupadd -r appuser && useradd --no-create-home -g appuser -r appuser
29USER appuser
30
31WORKDIR /app
32
33ENV VIRTUAL_ENV=/app/.venv
34COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
35ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
36
37# Copy source code
38COPY ./logging.ini ./logging.ini
39COPY ./contributor-1/contributor_1 ./contributor_1
40