FROM registry.yandex.net/avia/ubuntu-bionic-deploy:22b21855d62a4f7ff9fca4d5994f65d326015bb6

WORKDIR /app

# create log and cache directories
RUN mkdir -p /var/cache/yandex-ticket-daemon \
    && mkdir -p /var/spool/mcrouter \
    && mkdir -p /var/log/mcrouter

# nginx config
ADD docker/nginx /etc/nginx

# mcrouter
RUN mkdir -p /var/spool/mcrouter \
    && mkdir -p /var/log/mcrouter \
    && mkdir /etc/mcrouter
ADD docker/mcrouter/mcrouter /etc/mcrouter
COPY mcrouter /usr/bin/mcrouter
COPY docker/mcrouter/bin/mcrouter_config.py /app/
COPY docker/mcrouter/debian_requirements.txt /tmp/mcrouter_debian_requirements.txt
RUN apt-get update -qq \
    && cat /tmp/mcrouter_debian_requirements.txt | xargs apt-get install -y -qq --force-yes \
    && apt-get clean -qq \
    && rm /tmp/mcrouter_debian_requirements.txt

# yt_lock
COPY yt_lock /usr/bin/yt_lock

# deb_requirements
COPY debian_requirements.txt /tmp/debian_requirements.txt
RUN apt-get update -qq \
    && cat /tmp/debian_requirements.txt | xargs apt-get install -y -qq --force-yes \
    && apt-get clean -qq \
    && rm /tmp/debian_requirements.txt

COPY docker/gstatstd/gstatsd-config.json /etc/gstatsd/conf-enabled/

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

# cron
COPY docker/cron/* /etc/cron.d/
# remove skynet
RUN rm -f /etc/cron.d/yandex-gosky /etc/cron.d/skynetd

# logrotate
COPY docker/logrotate/* /etc/logrotate.d/

# statbox-push-client
ADD docker/statbox-push-client /etc/yandex/statbox-push-client

# Solomon
COPY docker/solomon/ /etc/solomon/

# pre-start
COPY docker/pre_start/ /bin/pre_start/

# Copy project files
COPY app /app/app
COPY docker/bin/app.sh /app/app.sh
RUN chmod +x /app/app.sh

# Make port 80 available to the world outside this container
EXPOSE 80
