2018-09-03 21:53:41 -05:00

64 lines
2.7 KiB
Docker

FROM debian:stable
RUN apt-get -y update && apt-get -y install nginx php-fpm php-mysql php-apcu php-mbstring php-xml supervisor python-pip \
mysql-client imagemagick curl wget zip unzip php-pclzip git msmtp msmtp-mta
RUN pip install supervisor-stdout
ENV MW_VERSION REL1_31
ENV MW_SOURCE https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.0.tar.gz
ENV SMF_VERSION 2.0.15
ENV SMF_SOURCE https://download.simplemachines.org/index.php/smf_2-0-15_install.tar.gz
ENV SOURCE_ROOT /application
ENV WIKI_SOURCE $SOURCE_ROOT/w
ENV FORUMS_SOURCE $SOURCE_ROOT/forums
RUN mkdir userdata && mkdir $SOURCE_ROOT && \
mkdir $WIKI_SOURCE && mkdir $FORUMS_SOURCE
# Install composer
RUN cd /usr/src && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Clone mediawiki and SMF source into temp directory, install and then copy over to application dir
RUN cd /tmp && wget $MW_SOURCE && tar -xvf mediawiki-*.tar.gz && \
cp -Rv mediawiki-*/* $WIKI_SOURCE && rm -rf mediawiki-* && \
mkdir smf && cd smf && wget $SMF_SOURCE && tar -xvf smf_*.tar.gz && \
rm -rf Settings.php attachments smf_*.tar.gz && cp -Rv * $FORUMS_SOURCE
RUN chown -R www-data:www-data $SOURCE_ROOT
RUN cd "$WIKI_SOURCE/maintenance" && \
sh -c 'for TOOL in *.php; do LINK="/usr/bin/$(basename $TOOL .php)"; echo "#!/bin/sh\nphp $WIKI_SOURCE/maintenance/$TOOL \$@" > $LINK; chmod +x $LINK; done'
# Add our scripts
ADD scripts scripts
# Install additional extensions
# 12 August 2018: Nuke extension is not bundled with MediaWiki 1.31 by mistake.
# It will be added back in the next release.
RUN /scripts/add_extension.sh FlaggedRevs $MW_VERSION && \
/scripts/add_extension.sh CheckUser $MW_VERSION && \
/scripts/add_extension.sh Contributors $MW_VERSION && \
/scripts/add_extension.sh Nuke $MW_VERSION && \
/scripts/add_extension.sh Auth_remoteuser $MW_VERSION
# Install SMF mods
# 3 September 2018: These would also need to be installed in the database.
RUN /scripts/add_mod.php "http://custom.simplemachines.org/mods/index.php?action=download;mod=3067;id=179832"
# Add our stuff
ADD --chown=www-data:www-data application application
RUN cd $WIKI_SOURCE && composer update --no-dev
ADD configuration configuration
RUN ln -sf /configuration/supervisord.conf /etc/supervisor/supervisord.conf && \
ln -sf /configuration/nginx.conf /etc/nginx/nginx.conf && \
ln -sf /configuration/php-fpm.conf /etc/php/7.0/fpm/php-fpm.conf && \
ln -sf /configuration/php-fpm-pool.conf /etc/php/7.0/fpm/pool.d/www.conf && \
ln -sf /configuration/php.ini /etc/php/7.0/fpm/php.ini
EXPOSE 80
CMD /usr/bin/supervisord -n