FROM registry.yandex.net/tools/raw-ubuntu:18.04
ARG MODE=release
EXPOSE 80
CMD uwsgi --ini=/src/uwsgiconf.ini --cache2 name=uwsgicache,items=100000

# Указание для python requests, где брать сертификат, включающий Яндексовый CA.
ENV REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
RUN locale-gen ru_RU.UTF-8 && update-locale LANG=ru_RU.UTF-8

COPY deps/debian-build.txt deps/debian-main.txt deps/
RUN apt-get update -qq \
    && apt update -qq \
    && cat /deps/debian-build.txt | xargs apt install -y \
    && cat /deps/debian-main.txt | xargs apt install -y \
    && apt clean \
    && rm -rf /var/lib/apt/lists/* \
    && pip install --upgrade pip==20.3.4

COPY /deps/python-main.frozen.txt /deps/
RUN pip install --disable-pip-version-check -i https://pypi.yandex-team.ru/simple/ -r /deps/python-main.frozen.txt

COPY deps/python-dev.txt /deps/
RUN if [ "$MODE" = "dev" ]; then \
        pip install --disable-pip-version-check -i https://pypi.yandex-team.ru/simple/ -r /deps/python-dev.txt; \
    fi

COPY static_api /src/static_api

COPY staff_api /src/staff_api
COPY setup.py MANIFEST.in uwsgiconf.ini pytest.ini /src/
RUN if [ "$MODE" = "dev" ]; then \
        pip install -e /src/static_api/; \
        pip install -e /src/; \
    else \
        pip install /src/static_api/; \
        pip install /src/; \
    fi

RUN staff-api collectstatic --noinput
