# BIONIC
FROM registry.yandex.net/partners/perl-backend-base-bionic:1.40

## startman
RUN ln -s /usr/share/partners/local/bin/starman /usr/bin/starman

RUN apt-get update && apt-get install -y \
    jq \
    iproute2 \
    supervisor \
    yandex-openjdk17=17.0.3-tzdata2021e

# supervisor
ADD configs/docker/common-supervisord.conf /etc/supervisor/supervisord.conf
ADD configs/creator/bionic/supervisord.conf /etc/supervisor/conf.d/supervisord.conf

#tvmtool
ADD configs/test/tvmtool.conf /etc/tvmtool/tvmtool.conf
ADD etc/tvmtool/tvmtool_run.sh /etc/tvmtool/tvmtool_run.sh

# user
RUN adduser partner
ENV USER_HOME /home/partner
RUN mkdir $USER_HOME/.ssh && mkdir -p $USER_HOME/beta.8066/arcadia/partner/perl/partner2/tmp/

# TODO: зачем это в creator?!
# То что не нужно для работы, но нужно для тестов
RUN cpanm --no-lwp --curl  Perl::Tidy@v20101217


ENV WORKPATH  $USER_HOME/beta.8066/arcadia/partner/perl/partner2/
WORKDIR ${WORKPATH}


# carton

# Делаем сисмлинк на пакеты установленные  в базовом образе
RUN ln -sf /usr/share/partners/local  ${WORKPATH}/local

# NOTE: если пакеты нужно удалить, то нужно собрать новый базовый образ и обновить версию в этом файле
ADD configs/carton/bionic/cpanfile             ${WORKPATH}/cpanfile
ADD configs/carton/bionic/cpanfile.snapshot    ${WORKPATH}/cpanfile.snapshot
RUN carton install --deployment && rm -r /root/.cpanm/


# Чтобы bower не задавал вопрос
# "May bower anonymously report usage statistics to improve the tool over time?"
# https://ask.yandex-team.ru/question/881/kak-ubedit-bower-ne-zadavat-vopros-may-bower-anonymously-report-usage/
# http://stackoverflow.com/questions/22387857/stop-bower-from-asking-for-statistics-when-installing
ENV CI true

ADD lib/QBit/blocks/     ${WORKPATH}/lib/QBit/blocks
ADD lib/QBit/data/       ${WORKPATH}/lib/QBit/data
ADD lib/QBit/templates/  ${WORKPATH}/lib/QBit/templates
ADD .borschik            ${WORKPATH}
ADD blocks               ${WORKPATH}/blocks
ADD common.priv.js       ${WORKPATH}/common.priv.js
ADD data                 ${WORKPATH}/data
ADD frontend             ${WORKPATH}/frontend
ADD templates            ${WORKPATH}/templates
ADD Makefile             ${WORKPATH}/Makefile

RUN chown partner.partner -R /home/partner

USER partner

USER root

ADD .tanker         ${WORKPATH}/.tanker
ADD etc             ${WORKPATH}/etc
ADD mail_templates  ${WORKPATH}/mail_templates
ADD bin             ${WORKPATH}/bin
ADD lib             ${WORKPATH}/lib
ADD resources       ${WORKPATH}/resources
ADD api             ${WORKPATH}/api

ADD configs         ${WORKPATH}/configs

ENV UBUNTU_VERSION bionic
RUN make create_and_copy_configs
ADD configs/docker/DatabaseConfig.json lib/
ADD configs/docker/Application.json lib/

RUN chown partner.partner -R /home/partner

# starting
EXPOSE 8066 8466 18066

CMD ["/usr/bin/supervisord"]
