FROM registry.yandex.net/tools/raw-ubuntu:20.04
ARG MODE=release

EXPOSE 80

RUN groupadd porto && adduser www-data porto

COPY requirements/debian /requirements/debian

# Для yandex-porto приходится подключать поисковый репозиторий
RUN apt-get update && apt-get install -y software-properties-common \
    && add-apt-repository 'deb http://dist.yandex.ru/search-bionic/ stable/amd64/'

# В новой убунте в репозитории уже 12 постгрес, а нам нужен 10
COPY etc/pg.asc /root/pg.asc
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ focal-pgdg main" >> /etc/apt/sources.list.d/pgdg.list \
    && apt-key add /root/pg.asc

RUN apt-get update \
    && grep -o "^[^#]*" /requirements/debian/build_requirements.txt | xargs apt-get install -y \
    && grep -o "^[^#]*" /requirements/debian/requirements.txt | xargs apt-get install -y \
    && grep -o "^[^#]*" /requirements/debian/dev_requirements.txt | xargs apt-get install -y \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

COPY requirements/python /requirements/python

# Фиксированная версия pip, потому что 20.3.* жестче решает конфликты
# и мешает сборке, т.к. конфликты у нас сейчас есть
RUN pip3 install --upgrade pip==20.2.4

RUN pip3 install -i https://pypi.yandex-team.ru/simple/ -r /requirements/python/requirements.txt
RUN pip3 install -i https://pypi.yandex-team.ru/simple/ -r /requirements/python/dev_requirements.txt

CMD "/entrypoint.sh"

COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh

COPY setup.py MANIFEST.in pytest.ini /idm/

COPY uwsgi.ini /idm/

COPY idm/ /idm/idm/

COPY changelog.md changelog.md

RUN if [ "$MODE" = "release" ] ; \
    then version=`sed -n '1p' changelog.md` && sed -i "s/dev/$version/g" /idm/idm/__init__.py  ; fi

RUN pip3 install -e /idm/

RUN YENV_NAME=intranet idm collectstatic --noinput
