2014-08-27 10:26:49 +00:00
|
|
|
# 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 ####################################################
|
|
|
|
|
2014-11-10 17:00:57 +00:00
|
|
|
RUN apt-get -y update && \
|
|
|
|
apt-get install -y \
|
2014-11-20 19:29:01 +00:00
|
|
|
realpath \
|
2014-11-10 17:00:57 +00:00
|
|
|
nginx-light \
|
|
|
|
php5-fpm \
|
|
|
|
mysql-server \
|
|
|
|
php5-mysql \
|
|
|
|
php5-mcrypt \
|
2014-11-19 17:11:43 +00:00
|
|
|
libmcrypt-dev \
|
2014-11-20 14:33:28 +00:00
|
|
|
libwww-perl \
|
2014-11-20 19:29:01 +00:00
|
|
|
libdigest-whirlpool-perl \
|
2014-11-10 17:00:57 +00:00
|
|
|
pwgen \
|
2014-11-21 14:55:38 +00:00
|
|
|
curl \
|
2014-11-10 17:00:57 +00:00
|
|
|
openssl \
|
2014-11-20 22:09:05 +00:00
|
|
|
cpanminus \
|
|
|
|
build-essential \
|
|
|
|
libltdl-dev \
|
2014-11-10 17:00:57 +00:00
|
|
|
&& \
|
|
|
|
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
2014-08-27 10:26:49 +00:00
|
|
|
|
2014-11-20 22:09:05 +00:00
|
|
|
RUN cpanm Mcrypt
|
|
|
|
|
2014-12-28 13:51:40 +00:00
|
|
|
RUN useradd -d /var/www/fic-server/misc/ -M -N -g www-data synchro
|
|
|
|
|
2014-12-14 12:16:22 +00:00
|
|
|
WORKDIR /var/www/fic-server/misc
|
|
|
|
|
2014-08-27 10:26:49 +00:00
|
|
|
# Copying files #######################################################
|
|
|
|
|
2014-11-05 16:46:18 +00:00
|
|
|
ADD . /var/www/fic-server/
|
2014-08-27 10:26:49 +00:00
|
|
|
|
|
|
|
# Configure softwares #################################################
|
|
|
|
|
2014-12-14 12:16:22 +00:00
|
|
|
RUN 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
|
2014-08-27 10:26:49 +00:00
|
|
|
|
|
|
|
# Generate test certificates ##########################################
|
|
|
|
|
2014-12-14 12:16:22 +00:00
|
|
|
RUN bash ./CA.sh -newca
|
2014-08-27 10:26:49 +00:00
|
|
|
|
|
|
|
# Import DB ###########################################################
|
|
|
|
|
2014-12-14 12:16:22 +00:00
|
|
|
RUN service mysql start && \
|
|
|
|
echo "CREATE DATABASE fic;" | mysql -u root && \
|
|
|
|
cat /var/www/fic-server/db/fic2014.sql | mysql -u root fic
|
2014-08-27 10:26:49 +00:00
|
|
|
|
|
|
|
# Uncomment the following line to fill with random values
|
2014-12-14 12:16:22 +00:00
|
|
|
RUN service mysql start && cat /var/www/fic-server/db/feed.sql | mysql -u root fic
|
2014-08-27 10:26:49 +00:00
|
|
|
|
|
|
|
# Configure site ######################################################
|
|
|
|
|
2014-12-14 12:16:22 +00:00
|
|
|
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/
|
2014-08-27 10:26:49 +00:00
|
|
|
|
|
|
|
# ENVIRONNEMENT #######################################################
|
|
|
|
|
2014-12-14 12:16:22 +00:00
|
|
|
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"]
|
|
|
|
|
2014-12-28 13:51:40 +00:00
|
|
|
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; \
|
2014-12-14 12:16:22 +00:00
|
|
|
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
|