From 6b3fe78693f6f483b6657da546a82408795bd802 Mon Sep 17 00:00:00 2001 From: Alan Jean Date: Mon, 30 Jan 2023 23:00:47 +0400 Subject: [PATCH] =?UTF-8?q?feat(inference):=20add=20Dockerfile=20for=20the?= =?UTF-8?q?=20inference=20stack's=20text=20client=20=F0=9F=90=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initial definition of the inference stack's text client container image. --- docker/inference/Dockerfile.text-client | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docker/inference/Dockerfile.text-client diff --git a/docker/inference/Dockerfile.text-client b/docker/inference/Dockerfile.text-client new file mode 100644 index 00000000..1a4c4ae0 --- /dev/null +++ b/docker/inference/Dockerfile.text-client @@ -0,0 +1,46 @@ +# syntax=docker/dockerfile:1 + +ARG APP_USER="text-client" +ARG APP_RELATIVE_PATH="inference/text-client" + + +FROM python:3.10-alpine3.17 as build +ARG APP_RELATIVE_PATH + +WORKDIR /build + +COPY ./${APP_RELATIVE_PATH}/requirements.txt . + +RUN --mount=type=cache,target=/var/cache/pip \ + pip install \ + --cache-dir=/var/cache/pip \ + --target=lib \ + -r requirements.txt + + + +FROM python:3.10-alpine3.17 as dev +ARG APP_USER +ARG APP_RELATIVE_PATH + +ENV APP_ROOT="/opt/${APP_RELATIVE_PATH}" +ENV APP_LIBS="/var/opt/${APP_RELATIVE_PATH}/lib" + +ENV PATH="${PATH}:${APP_LIBS}/bin" +ENV PYTHONPATH="${PYTHONPATH}:${APP_LIBS}" + + +RUN adduser \ + --disabled-password \ + --no-create-home \ + "${APP_USER}" + +USER ${APP_USER} + +WORKDIR ${APP_ROOT} + +COPY --chown="${APP_USER}:${APP_USER}" --from=build /build/lib ${APP_LIBS} +COPY --chown="${APP_USER}:${APP_USER}" ./${APP_RELATIVE_PATH}/__main__.py . + + +CMD python3 __main__.py --backend-url "${BACKEND_URL}"