MemGPT

Форк
0
/
Dockerfile 
52 строки · 1.4 Кб
1
# The builder image, used to build the virtual environment
2
FROM python:3.11-bookworm as builder
3
ARG MEMGPT_ENVIRONMENT=PRODUCTION
4
ENV MEMGPT_ENVIRONMENT=${MEMGPT_ENVIRONMENT}
5
RUN pip install poetry==1.4.2
6

7
ENV POETRY_NO_INTERACTION=1 \
8
    POETRY_VIRTUALENVS_IN_PROJECT=1 \
9
    POETRY_VIRTUALENVS_CREATE=1 \
10
    POETRY_CACHE_DIR=/tmp/poetry_cache
11

12
WORKDIR /app
13

14
COPY pyproject.toml poetry.lock ./
15
RUN poetry lock --no-update
16
RUN if [ "$MEMGPT_ENVIRONMENT" = "DEVELOPMENT"  ] ; then \
17
    poetry install --no-root -E "postgres server dev autogen" ; \
18
    else \
19
    poetry install --without dev --no-root -E "postgres server" && \
20
    rm -rf $POETRY_CACHE_DIR ;  \
21
    fi
22

23

24
# The runtime image, used to just run the code provided its virtual environment
25
FROM python:3.11-slim-bookworm as runtime
26
ARG MEMGPT_ENVIRONMENT=PRODUCTION
27
ENV MEMGPT_ENVIRONMENT=${MEMGPT_ENVIRONMENT}
28
ENV VIRTUAL_ENV=/app/.venv \
29
    PATH="/app/.venv/bin:$PATH"
30

31
COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
32

33
COPY ./memgpt /memgpt
34

35
EXPOSE 8083
36

37
CMD ./memgpt/server/startup.sh
38

39
# allow for in-container development and testing
40
FROM builder as development
41
ARG MEMGPT_ENVIRONMENT=PRODUCTION
42
ENV MEMGPT_ENVIRONMENT=${MEMGPT_ENVIRONMENT}
43
ENV VIRTUAL_ENV=/app/.venv \
44
    PATH="/app/.venv/bin:$PATH"
45
ENV PYTHONPATH=/
46
WORKDIR /
47
COPY ./tests /tests
48
COPY ./memgpt /memgpt
49
COPY ./configs/server_config.yaml /root/.memgpt/config
50
EXPOSE 8083
51

52
CMD ./memgpt/server/startup.sh
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.