# 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 # Install packages #################################################### RUN apt-get -y update && \ apt-get install -y \ realpath \ nginx-light \ php5-fpm \ mysql-server \ php5-mysql \ php5-mcrypt \ libmcrypt4 \ libwww-perl \ libdigest-whirlpool-perl \ pwgen \ curl \ openssl \ && \ apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN useradd -d /var/www/fic-server/misc/ -M -N -g www-data synchro # Copying files ####################################################### WORKDIR /var/www/fic-server/misc ADD . /var/www/fic-server/ # Configure softwares ################################################# RUN dpkg -i /var/www/fic-server/libmcrypt-perl*.deb || \ (echo "Please build perl-mcrypt first. Consult the given README!"; exit 1) && \ ln -sf /var/www/fic-server/nginx-server.conf /etc/nginx/sites-enabled/default && \ ln -sf /var/www/fic-server/php-fpm.conf /etc/php5/fpm/pool.d/www.conf # Configure site ###################################################### RUN ln -sf /var/www/fic-server/onyx/config/sample.root.xml /var/www/fic-server/onyx/config/root.xml && \ sed -i "s/1386827772/`date -d 'now + 4 hours' +%s`/" /var/www/fic-server/onyx/config/root.xml && \ sed -i "s/challenge-public//" /var/www/fic-server/onyx/config/root.xml && \ 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 VOLUME ["/var/www/fic-server/out","/var/www/fic-server/files","/var/www/fic-server/submission","/var/www/fic-server/misc/shared"] CMD mkdir -p /var/www/fic-server/logs; \ chown -R www-data:www-data /var/www/fic-server/misc; \ chown -R synchro:www-data /var/www/fic-server/submission /var/www/fic-server/logs /var/www/fic-server/out; \ chmod 660 /var/www/fic-server/submission; \ if ! [ -f server.crt ]; \ then \ bash ./CA.sh -newserver; \ fi; \ bash ./CA.sh -gencrl && \ service nginx start && \ service php5-fpm start && \ service mysql start && \ ../nginx_gen_team.sh > ../misc/shared/nginx-teams.conf && \ echo 'Copying files...' && \ ../gen_hash_link_files.sh --copy ../files-in ../files; \ (../launch_local.sh &); \ /bin/bash