56 lines
2.2 KiB
Docker
56 lines
2.2 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
|
|
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
|
|
|
|
# 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
|
|
|
|
# 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
|