@@ -10,11 +10,10 @@ ARG MISP_EMAIL=admin@localhost
1010
1111# Dir you need to override to keep data on reboot/new container:
1212VOLUME /var/lib/mysql
13- # VOLUME /var/www/MISP/Config
1413
1514# Dir you might want to override in order to have custom ssl certs
1615# Need: "misp.key" and "misp.crt"
17- # VOLUME /etc/ssl/private
16+ VOLUME /etc/ssl/private
1817
1918# 80/443 - MISP web server, 3306 - mysql, 6379 - redis, 50000 - MISP ZeroMQ
2019EXPOSE 80 443 3306 6379 50000
@@ -39,6 +38,11 @@ RUN sed -i -E 's/^(\s*)system\(\);/\1unix-stream("\/dev\/log");/' /etc/syslog-ng
3938 sudo -u www-data -H git config core.filemode false ; \
4039 echo
4140
41+ # Dir you need to override to keep app config on reboot/new container. This
42+ # appears after the git clone above to avoid a failure that would occur if
43+ # trying to clone into a non-empty directory.
44+ VOLUME /var/www/MISP/app/Config
45+
4246WORKDIR /var/www/MISP/app/files/scripts
4347RUN sudo -u www-data -H git clone https://github.com/CybOXProject/python-cybox.git ; \
4448 sudo -u www-data -H git clone https://github.com/STIXProject/python-stix.git
@@ -83,7 +87,6 @@ RUN mkdir /var/www/.composer && chown -R www-data:www-data /var/www/.composer ;
8387 sudo chmod -R g+ws /var/www/MISP/app/tmp ; \
8488 sudo chmod -R g+ws /var/www/MISP/app/files ; \
8589 sudo chmod -R g+ws /var/www/MISP/app/files/scripts/tmp ; \
86- openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/ssl/private/misp.key -out /etc/ssl/private/misp.crt -batch ; \
8790 echo "<VirtualHost *:80>" > /etc/apache2/sites-available/000-default.conf ; \
8891 echo "ServerName $MISP_FQDN" >> /etc/apache2/sites-available/000-default.conf ; \
8992 echo "Redirect permanent / https://$MISP_FQDN" >> /etc/apache2/sites-available/000-default.conf ; \
@@ -110,18 +113,28 @@ RUN mkdir /var/www/.composer && chown -R www-data:www-data /var/www/.composer ;
110113 echo "ServerSignature Off" >> /etc/apache2/sites-available/default-ssl.conf ; \
111114 echo "</VirtualHost>" >> /etc/apache2/sites-available/default-ssl.conf ; \
112115 echo "ServerName localhost" >> /etc/apache2/apache2.conf ; \
113- sudo -u www-data cp -a /var/www/MISP/app/Config/bootstrap.default.php /var/www/MISP/app/Config/bootstrap.php ; \
114- sudo -u www-data cp -a /var/www/MISP/app/Config/database.default.php /var/www/MISP/app/Config/database.php ; \
115- sudo -u www-data cp -a /var/www/MISP/app/Config/core.default.php /var/www/MISP/app/Config/core.php ; \
116- sudo -u www-data cp -a /var/www/MISP/app/Config/config.default.php /var/www/MISP/app/Config/config.php
117-
118- RUN sed -i -e 's/db login/misp/g' /var/www/MISP/app/Config/database.php ; \
119- sed -i -e "s/db password/${MYSQL_MISP_PASSWORD}/g" /var/www/MISP/app/Config/database.php ; \
120- sed -i -E "s/'salt'(\s +)=>\s ''/'salt' => '`openssl rand -base64 32 | tr \' /\' \' 0\' `'/" /var/www/MISP/app/Config/config.php ; \
121- sed -i -E "s/'baseurl'(\s +)=>\s ''/'baseurl' => 'https:\/\/ ${MISP_FQDN}'/" /var/www/MISP/app/Config/config.php ; \
122- sed -i -e "s/email@address.com/${MISP_EMAIL}/" /var/www/MISP/app/Config/config.php ; \
123- sudo chown -R www-data:www-data /var/www/MISP/app/Config ; \
124- sudo chmod -R 750 /var/www/MISP/app/Config ; \
116+ sudo cp -aR /var/www/MISP/app/Config /.misp_config_default
117+
118+ RUN echo "#!/bin/bash" > /.misp_config_default/init-misp-config ; \
119+ echo "if [ ! -f /var/www/MISP/app/Config/.misp_config_initialized ]; then " >> /.misp_config_default/init-misp-config ; \
120+ echo "sudo -u www-data mkdir -p /var/www/MISP/app/Config" >> /.misp_config_default/init-misp-config ; \
121+ echo "sudo cp -aR /.misp_config_default/*.php /var/www/MISP/app/Config" >> /.misp_config_default/init-misp-config ; \
122+ echo "sudo chown -R www-data:www-data /var/www/MISP/app/Config" >> /.misp_config_default/init-misp-config ; \
123+ echo "sudo -u www-data cp -a /var/www/MISP/app/Config/bootstrap.default.php /var/www/MISP/app/Config/bootstrap.php" >> /.misp_config_default/init-misp-config ; \
124+ echo "sudo -u www-data cp -a /var/www/MISP/app/Config/database.default.php /var/www/MISP/app/Config/database.php" >> /.misp_config_default/init-misp-config ; \
125+ echo "sudo -u www-data cp -a /var/www/MISP/app/Config/core.default.php /var/www/MISP/app/Config/core.php" >> /.misp_config_default/init-misp-config ; \
126+ echo "sudo -u www-data cp -a /var/www/MISP/app/Config/config.default.php /var/www/MISP/app/Config/config.php" >> /.misp_config_default/init-misp-config ; \
127+ echo "sed -i -e \" s/db login/misp/g\" /var/www/MISP/app/Config/database.php" >> /.misp_config_default/init-misp-config ; \
128+ echo "sed -i -e \" s/db password/$MYSQL_MISP_PASSWORD/g\" /var/www/MISP/app/Config/database.php" >> /.misp_config_default/init-misp-config ; \
129+ echo "sed -i -E \" s/'salt'(\s +)=>\s ''/'salt' => '`openssl rand -base64 32 | tr \' /\' \' 0\' `'/\" /var/www/MISP/app/Config/config.php" >> /.misp_config_default/init-misp-config ; \
130+ echo "sed -i -E \" s/'baseurl'(\s +)=>\s ''/'baseurl' => 'https:\/\/ $MISP_FQDN'/\" /var/www/MISP/app/Config/config.php" >> /.misp_config_default/init-misp-config ; \
131+ echo "sed -i -e \" s/email@address.com/$MISP_EMAIL/\" /var/www/MISP/app/Config/config.php" >> /.misp_config_default/init-misp-config ; \
132+ echo "sudo chown -R www-data:www-data /var/www/MISP/app/Config" >> /.misp_config_default/init-misp-config ; \
133+ echo "touch /var/www/MISP/app/Config/.misp_config_initialized" >> /.misp_config_default/init-misp-config ; \
134+ echo "sudo chmod -R 750 /var/www/MISP/app/Config" >> /.misp_config_default/init-misp-config ; \
135+ echo "fi" >> /.misp_config_default/init-misp-config ; \
136+ echo "sudo rm -fR /.misp_config_default" >> /.misp_config_default/init-misp-config ; \
137+ chmod 755 /.misp_config_default/init-misp-config ; \
125138 sudo pip2 install --upgrade pip ; \
126139 sudo pip2 install pyzmq ; \
127140 sudo pip2 install redis ; \
@@ -152,7 +165,7 @@ RUN sed -i -e 's/db login/misp/g' /var/www/MISP/app/Config/database.php ; \
152165 echo "touch /var/lib/mysql/.db_initialized" >> /init-db ; \
153166 echo "chown -R mysql:mysql /var/lib/mysql" >> /init-db ; \
154167 echo "fi" >> /init-db ; \
155- echo "rm -f /init-db" >> /init-db ; \
168+ echo "sudo rm -f /init-db" >> /init-db ; \
156169 chmod 755 /init-db ; \
157170 echo "#!/bin/bash" > /misp-bug-fix ; \
158171 echo "cd '/usr' ; /usr/bin/mysqld_safe --datadir='/var/lib/mysql' &" >> /misp-bug-fix ; \
@@ -201,4 +214,5 @@ COPY supervisord.conf /etc/supervisor/conf.d/
201214# To change it:
202215# echo "/var/www/MISP/app/Console/cake Password 'admin@admin.test' '@dmin1!'" >> /root/init-db ; \
203216
204- CMD ["/usr/bin/supervisord" , "-c" , "/etc/supervisor/conf.d/supervisord.conf" ]
217+ COPY startup.sh /
218+ CMD ["/startup.sh" ]
0 commit comments