spam-detector/Dockerfile
2024-11-04 00:17:50 +03:00

63 lines
1.7 KiB
Docker

# https://stackoverflow.com/a/57374374/2798461
#######################################################################################################################
FROM python:3.10-alpine AS dist
ENV PYTHONUNBUFFERED=1
WORKDIR /app
COPY lib /app/lib
COPY requirements.txt /app
COPY src /app/src
#######################################################################################################################
FROM dist AS installation
RUN apk update
RUN pip install --upgrade pip
RUN pip install --no-index --find-links /app/lib nvidia-nccl-cu12
RUN apk add curl bash gcc g++ cmake make musl-dev
#######################################################################################################################
FROM installation AS building
RUN pip install -r requirements.txt
RUN apk del gcc g++ cmake make musl-dev
#######################################################################################################################
FROM building AS runner
RUN apk add libgomp libstdc++
RUN mkdir /app/nltk_data
RUN ln -s /app/nltk_data /root/nltk_data
ENV PYTHONPATH=/app
ARG DATASET
ARG WEB_API_URL
ARG RABBITMQ_HOST
ARG RABBITMQ_PORT
ARG RABBITMQ_USER
ARG RABBITMQ_PASS
ARG RABBITMQ_QUEUE
ENV PORT=8080 \
DATASET=${DATASET} \
WORKING_DIR=/app/nltk_data \
FUCKING_DIR=/usr/local/lib/python3.10/site-packages/spam_detector_ai/models \
MODELS_DIR=/app/models \
WEB_API_URL=${WEB_API_URL} \
RABBITMQ_HOST=${RABBITMQ_HOST} \
RABBITMQ_PORT=${RABBITMQ_PORT} \
RABBITMQ_USER=${RABBITMQ_USER} \
RABBITMQ_PASS=${RABBITMQ_PASS} \
RABBITMQ_QUEUE=${RABBITMQ_QUEUE}
RUN python3 -m src.preparer
ENTRYPOINT [ "bash", "-c", "while true; do sleep 1; done" ]