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

EXPOSE 80
CMD /dogma-main --ini /uwsgi.ini

COPY deps/debian-build.txt deps/debian-main.txt prepare_network.sh /

RUN apt-get update \
    && cat debian-build.txt | xargs apt-get install -y \
    && cat debian-main.txt | xargs apt-get install -y \
    && apt-get install -y wget ca-certificates \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
RUN apt-get update && apt-get install -y postgresql postgresql-contrib

COPY uwsgi.ini /
COPY .bashrc /root

COPY /bin/dogma-userinfo usr/bin/
RUN chmod -R 777 /usr/bin/dogma-userinfo

COPY ./etc /etc
COPY ./usr /usr

# https://stackoverflow.com/questions/21926465/issues-running-cron-in-docker-on-different-hosts
RUN sed -i '/session    required     pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/cron

RUN chmod 644 /etc/cron.d/mon
RUN mkdir -p /var/www
RUN chown www-data /var/www
RUN mkdir -p /storage/dogma/repos
RUN chown www-data /storage/dogma
RUN chown www-data /storage/dogma/repos

COPY /dogma-main/dogma/wsgi/dogma.app /dogma-main
COPY /dogma-main/mon/dogma_mon /dogma_mon

COPY /django-entrypoint.sh /usr/local/bin/dogma
COPY /shell-entrypoint.sh /usr/local/bin/dogmashell
COPY /celery-entrypoint.sh /usr/local/bin/dogma-celery

RUN chmod +x /usr/local/bin/dogma
RUN chmod +x /usr/local/bin/dogmashell
RUN chmod +x /usr/local/bin/dogma-celery

RUN dogma collectstatic -v0 --noinput
