wordpress/Dockerfile

62 lines
2.2 KiB
Docker
Raw Normal View History

2021-09-22 18:53:18 +02:00
ARG PHP_VERSION=7.4
2021-09-01 21:03:25 +02:00
ARG WP_VERSION=5.8.0
2021-09-22 19:17:20 +02:00
FROM --platform=${TARGETPLATFORM} wordpress:${WP_VERSION}-php${PHP_VERSION}-fpm-alpine AS wordpress-builder
# As long as new version doesn't require changes to Dockerfile, we don't need separate files
2020-03-29 01:42:21 +01:00
USER root
WORKDIR /tmp/build/rootfs
# Build root filesystem structure (overlay), and copy over neccessary files
RUN mkdir -p usr/local/bin \
&& mkdir -p usr/local/etc/php/conf.d/ \
&& mv /usr/local/etc/php/conf.d/error-logging.ini usr/local/etc/php/conf.d/ \
&& mv /usr/local/etc/php/conf.d/opcache-recommended.ini usr/local/etc/php/conf.d/
################################################# APP ##################################################################
2021-09-22 19:17:20 +02:00
FROM --platform=${TARGETPLATFORM} nlss/php-nginx:${PHP_VERSION}
ARG WP_VERSION
ENV APK_DEPS "zlib-dev libzip-dev libpng-dev icu-dev imagemagick-dev patch"
2020-03-29 01:42:21 +01:00
ENV APK_BUILD_DEPS "curl-dev autoconf alpine-sdk"
ENV APK_WP_CLI_DEPS "bash less mysql-client"
RUN apk add --update --no-cache ${APK_WP_CLI_DEPS} ${APK_DEPS} ${APK_BUILD_DEPS} \
&& docker-php-ext-install -j "$(nproc)" \
bcmath \
exif \
gd \
mysqli \
opcache \
zip \
intl \
&& pecl install redis apcu imagick-3.4.4 \
&& docker-php-ext-enable redis apcu imagick \
&& apk del ${APK_BUILD_DEPS} \
&& rm /tmp/* -rf
2021-09-23 00:03:50 +02:00
# TODO: Official WordPress has upgraded imagick to 5.x
2020-03-29 01:42:21 +01:00
COPY --from=wordpress-builder /tmp/build/rootfs /
COPY --from=wordpress:cli-php7.4 /usr/local/bin/wp /usr/local/bin/wp-cli
2020-03-29 01:42:21 +01:00
ENV WP_VERSION ${WP_VERSION}
2020-03-29 01:47:01 +01:00
ENV WP_LOCALE en_US
2020-03-29 01:42:21 +01:00
ENV CRON_ENABLED true
ENV VIRTUAL_HOST your-domain.com
2020-03-29 01:42:21 +01:00
ADD rootfs /
RUN echo "*/5 * * * * /usr/local/bin/wp cron event run --due-now" >> /etc/crontabs/www-data \
&& chmod a+x /usr/local/bin/wp
2020-03-29 01:42:21 +01:00
VOLUME ["/root/.wp-cli", "/var/www/${WEB_ROOT}", "/var/www/${WEB_ROOT}/wp-content"]
2020-03-29 01:42:21 +01:00
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS 2
2020-06-17 01:37:45 +02:00
ENV ENFORCE_DISABLE_WP_UPDATES true
ENV WP_CLI_DISABLE_AUTO_CHECK_UPDATE true
COPY ["wp-config.php", "/var/www/html"]
COPY ["patches/${WP_VERSION}/wp-admin-update-core.patch", "/etc/wp-mods/wp-admin/update-core.php.patch"]
2021-01-11 20:31:23 +01:00
EXPOSE 80/TCP