# DOCKER-VERSION 1.1.0

# /!\ WARNING: the container generated through this Dockerfile is made only for development purpose; it is NOT SAFE or production ready.

FROM       debian:wheezy
MAINTAINER Pierre-Olivier Mercier <nemunaire@nemunai.re>

# Install packages ####################################################

RUN apt-get -y update && \
    apt-get install -y \
            nginx-light \
            php5-fpm \
	    mysql-server \
	    php5-mysql \
	    php5-mcrypt \
	    libmcrypt-dev \
	    pwgen \
	    openssl \
    && \
    apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Copying files #######################################################

ADD . /var/www/fic-server/

# Configure softwares #################################################

RUN ln -sf /var/www/fic-server/nginx-server.conf /etc/nginx/sites-enabled/default
RUN ln -sf /var/www/fic-server/php-fpm.conf /etc/php5/fpm/pool.d/www.conf

# Generate test certificates ##########################################

RUN cd /var/www/fic-server/misc; bash ./CA.sh -newca

# Import DB ###########################################################

RUN service mysql start && echo "CREATE DATABASE fic;" | mysql -u root && cat /var/www/fic-server/db/fic2014.sql | mysql -u root fic

# Uncomment the following line to fill with random values
#RUN cat /var/www/fic-server/db/feed.sql | mysql -u root fic

# Configure site ######################################################

RUN ln -sf /var/www/fic-server/onyx/config/sample.root.xml /var/www/fic-server/onyx/config/root.xml
RUN sed -i "s/1386827772/`date -d 'now + 4 hours' +%s`/" /var/www/fic-server/onyx/config/root.xml
RUN sed -i "s/challenge-public//" /var/www/fic-server/onyx/config/root.xml

RUN chmod 777 /var/www/fic-server/onyx/cache/ /var/www/fic-server/onyx/cache/templates/cache/ /var/www/fic-server/onyx/cache/templates/compile/

# ENVIRONNEMENT #######################################################

EXPOSE     80/tcp 443/tcp
CMD ["sh", "-c", "chown -R www-data:www-data /var/www/fic-server/misc /var/www/fic-server/submission; cd /var/www/fic-server/misc; if ! [ -f server.crt ]; then bash ./CA.sh -newserver; fi; service nginx start && service php5-fpm start && service mysql start && /bin/bash"]
