FROM registry.yandex.net/avia/ubuntu-trusty:7f510d2988178b03b158f484e4f6f63f577a0298

ARG project=yandex-avia-api
ARG work_dir=/app

WORKDIR ${work_dir}

COPY docker/debian_requirements.txt /tmp/requirements.txt
COPY docker/mcrouter/debian_requirements.txt /tmp/mcrouter_debian_requirements.txt
RUN apt-get update \
    && cat /tmp/requirements.txt | xargs apt-get install -y --force-yes \
    && cat /tmp/mcrouter_debian_requirements.txt | xargs apt-get install -y --force-yes \
    && apt-get clean \
    && rm /tmp/requirements.txt \
    && rm /tmp/mcrouter_debian_requirements.txt

RUN mkdir -p /var/cache/avia/ \
    && mkdir -p /var/spool/mcrouter \
    && mkdir -p /var/log/mcrouter \
    && mkdir /etc/mcrouter

COPY docker/nginx/* /etc/nginx/sites-enabled/

COPY docker/supervisor/* /etc/supervisor/conf.d/
COPY docker/mcrouter/supervisor /etc/supervisor/conf.d/

COPY docker/statbox-push-client/* /etc/yandex/statbox-push-client/

RUN mkdir -p /etc/logrotate.d/
COPY docker/logrotate/* /etc/logrotate.d/

COPY docker/mcrouter/mcrouter /etc/mcrouter

# cron
RUN mkdir -p /etc/cron.d/
COPY docker/cron/* /etc/cron.d/
RUN chmod 0644 /etc/cron.d/*

RUN mkdir -p ${work_dir}/docker/mcrouter/bin
COPY docker/bin/* ${work_dir}/docker/bin/
COPY docker/mcrouter/bin/mcrouter_config.py ${work_dir}/docker/mcrouter/bin/mcrouter_config.py

# application
COPY api ${work_dir}/bin/api
COPY manage ${work_dir}/bin/manage
COPY manage_django ${work_dir}/bin/manage_django
COPY mongomigrations ${work_dir}/mongomigrations
COPY scripts ${work_dir}/scripts
RUN chmod +x ${work_dir}/scripts/*.sh

EXPOSE 80

ENV LANG=ru_RU.UTF-8
ENV APP_DIR ${work_dir}
ENV PYTHONPATH ${work_dir}

CMD ${APP_DIR}/docker/bin/start.sh
