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

EXPOSE 80
WORKDIR /app
CMD bash entrypoint.sh

COPY deps/apt.txt /
RUN apt-get update -qq \
#    && add-apt-repository ppa:deadsnakes/ppa \
    && cat /apt.txt | xargs apt-get install -y \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && rm /apt.txt

RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
RUN update-alternatives --config python3

RUN pip3 install -i https://pypi.yandex-team.ru/simple/ --upgrade pip
RUN pip3 install -i https://pypi.yandex-team.ru/simple/ --upgrade setuptools wheel

COPY deps/python-main.txt /
RUN pip3 install --disable-pip-version-check --ignore-installed -i https://pypi.yandex-team.ru/simple/ -r /python-main.txt \
    && rm /python-main.txt

ARG MODE=release

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

COPY "packages/pyrogram-2.0.30.zip" /
RUN pip3 install --upgrade "/pyrogram-2.0.30.zip"

COPY setup.py setup.py
COPY init.sh /
COPY uwsgiconf.ini /app/
COPY entrypoint.sh /app/
COPY entrypoint-tests.sh /app/
COPY tasha/ tasha/

RUN if [ "$MODE" = "run_test" ]; then \
        mv entrypoint-tests.sh entrypoint.sh; \
    fi

RUN if [ "$MODE" = "release" ]; then \
        rm -rf tasha/tests/; \
    fi \
    && pip3 install .
