FROM registry.yandex.net/tools/raw-ubuntu:18.04

ARG FOR_FREEZE=false
ARG MODE=release
EXPOSE 80
CMD uwsgi --ini=/uwsgiconf.ini

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

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


COPY deps/python-main.frozen.txt deps/
COPY deps/python-main.txt deps/
RUN pip3 install --upgrade pip
RUN if [ "$FOR_FREEZE" = "true" ]; then \
    pip3 install --disable-pip-version-check -i https://pypi.yandex-team.ru/simple/ -r /deps/python-main.txt; \
    else \
    pip3 install --disable-pip-version-check -i https://pypi.yandex-team.ru/simple/ -r /deps/python-main.frozen.txt; \
    fi

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

COPY review/ src/review/
COPY tests/ src/tests/
COPY setup.py MANIFEST.in pytest.ini src/
COPY uwsgiconf.ini /

RUN if [ "$FOR_FREEZE" = "true" ]; then \
        echo "Build for freezing; not installing app"; \
    elif [ "$MODE" = "dev" ]; then \
        pip3 install -e /src/; \
    else \
        pip3 install /src/; \
    fi
