dream
44 строки · 1.4 Кб
1FROM python:3.9.16
2# ###################### IMMUTABLE SECTION ######################################
3# Do not change anything in this section
4WORKDIR /src
5
6COPY common/dialogflow_framework/requirements.txt .
7COPY common/dialogflow_framework/scripts /scripts
8
9RUN pip install -r requirements.txt && \
10bash /scripts/programy_logger_off.sh
11
12# ###################### CUSTOM SECTION ######################################
13# Here you can make changes
14
15ARG SERVICE_NAME
16ENV SERVICE_NAME ${SERVICE_NAME}
17
18COPY skills/${SERVICE_NAME}/requirements.txt .
19
20RUN rm -rf /var/lib/apt/lists/* && \
21pip install -r requirements.txt && \
22python -c "import nltk; nltk.download('punkt')"
23
24ARG DATABASE_URL
25ARG MOVIE_PLOTS_URL
26
27WORKDIR /data
28RUN wget ${DATABASE_URL} -q -O /data/database_most_popular_main_info.json && \
29wget $MOVIE_PLOTS_URL -q -P /data/ && \
30tar -xvzf /data/*.tar.gz -C /data/
31WORKDIR /src
32
33COPY skills/${SERVICE_NAME}/ ./
34RUN cd databases && wget https://files.deeppavlov.ai/dream/dff_movie_skill/w2_.txt
35COPY ./common/ ./common/
36
37ARG SERVICE_PORT
38ENV SERVICE_PORT ${SERVICE_PORT}
39
40# wait for a server answer ( INTERVAL + TIMEOUT ) * RETRIES seconds after that change stutus to unhealthy
41HEALTHCHECK --interval=5s --timeout=5s --retries=3 CMD curl --fail 127.0.0.1:${SERVICE_PORT}/healthcheck || exit 1
42
43
44CMD gunicorn --workers=1 server:app -b 0.0.0.0:${SERVICE_PORT}
45