mirror of
https://github.com/N0rthernL1ghts/wordpress.git
synced 2025-02-08 09:39:13 +01:00
Rebase to official Alpine-based WordPress image
This is to ensure stability with WordPress releases. The rest of functionality from nlss/base-alpine remains
This commit is contained in:
parent
11a2f2f45e
commit
24d390d335
89
Dockerfile
89
Dockerfile
|
@ -1,50 +1,73 @@
|
|||
ARG PHP_VERSION=7.4
|
||||
ARG WP_VERSION=5.8.0
|
||||
|
||||
|
||||
# Stage 1 - wordpress
|
||||
FROM --platform=${TARGETPLATFORM} wordpress:${WP_VERSION}-php${PHP_VERSION}-fpm-alpine AS wordpress
|
||||
# WP CLI
|
||||
FROM --platform=${TARGETPLATFORM} wordpress:cli-php${PHP_VERSION} AS wp-cli
|
||||
|
||||
|
||||
# Stage 2 - Build rootfs
|
||||
FROM scratch AS wordpress-rootfs
|
||||
# Build rootfs
|
||||
FROM scratch AS rootfs
|
||||
|
||||
COPY --from=wordpress ["/usr/local/etc/php/conf.d", "/usr/local/etc/php/conf.d/"]
|
||||
COPY --from=wordpress ["/usr/local/etc/php-fpm.d", "/usr/local/etc/php-fpm.d/"]
|
||||
COPY --from=wordpress ["/usr/local/include/php/ext", "/usr/local/include/php/ext/"]
|
||||
COPY --from=wordpress ["/usr/local/lib/php/extensions", "/usr/local/lib/php/extensions/"]
|
||||
COPY --from=wordpress ["/usr/local/lib/php/test", "/usr/local/lib/php/test/"]
|
||||
# Install wp-cli
|
||||
COPY --from=wp-cli ["/usr/local/bin/wp", "/usr/local/bin/wp-cli"]
|
||||
|
||||
# Install attr utility
|
||||
COPY --from=nlss/attr ["/usr/local/bin/attr", "/usr/local/bin/"]
|
||||
|
||||
# Add crond service
|
||||
COPY --from=nlss/base-alpine:3.14 ["/etc/services.d/cron/", "/etc/services.d/cron/"]
|
||||
|
||||
# Add container init tasks
|
||||
COPY --from=nlss/php-nginx:7.4 ["/etc/cont-init.d/", "/etc/cont-init.d/"]
|
||||
|
||||
# Add php-fpm configuration
|
||||
COPY --from=nlss/php-nginx:7.4 ["/usr/local/etc/php-fpm.d/", "/usr/local/etc/php-fpm.d/"]
|
||||
|
||||
# Add php-fpm service
|
||||
COPY --from=nlss/php-nginx:7.4 ["/etc/services.d/php-fpm/", "/etc/services.d/php-fpm/"]
|
||||
|
||||
# Add nginx service and configuration
|
||||
COPY --from=nlss/php-nginx:7.4 ["/etc/services.d/nginx/", "/etc/services.d/nginx/"]
|
||||
COPY --from=nlss/php-nginx:7.4 ["/etc/nginx/", "/etc/nginx/"]
|
||||
COPY --from=nlss/php-nginx:7.4 ["/var/", "/var/"]
|
||||
|
||||
# Install gomplate
|
||||
COPY --from=hairyhenderson/gomplate:v3.10.0-alpine ["/bin/gomplate", "/usr/local/bin/"]
|
||||
|
||||
# Install s6 supervisor
|
||||
COPY --from=nlss/s6-rootfs:2.2 ["/", "/"]
|
||||
|
||||
# Overlay
|
||||
COPY ["./rootfs/", "/"]
|
||||
|
||||
# Configuration and patches
|
||||
ARG WP_VERSION
|
||||
COPY ["wp-config.php", "/var/www/html/"]
|
||||
COPY ["patches/${WP_VERSION}/wp-admin-update-core.patch", "/etc/wp-mods/"]
|
||||
|
||||
|
||||
# Stage 3 - Final
|
||||
FROM --platform=${TARGETPLATFORM} nlss/php-nginx:${PHP_VERSION}
|
||||
# As long as new version doesn't require changes to Dockerfile, we don't need separate files
|
||||
FROM --platform=${TARGETPLATFORM} wordpress:${WP_VERSION}-php${PHP_VERSION}-fpm-alpine
|
||||
|
||||
ENV APK_RUNTIME_DEPS "zlib-dev libzip-dev libpng-dev icu-dev imagemagick-dev libjpeg libgomp patch"
|
||||
ENV APK_WP_CLI_DEPS "bash less mysql-client"
|
||||
RUN apk add --update --no-cache ${APK_WP_CLI_DEPS} ${APK_RUNTIME_DEPS}
|
||||
RUN apk add --update --no-cache patch less mysql-client nginx tzdata
|
||||
|
||||
|
||||
COPY --from=wordpress-rootfs / /
|
||||
COPY --from=wordpress:cli-php7.4 /usr/local/bin/wp /usr/local/bin/wp-cli
|
||||
|
||||
ARG WP_VERSION
|
||||
ENV WP_VERSION ${WP_VERSION}
|
||||
ENV WP_LOCALE en_US
|
||||
ENV CRON_ENABLED true
|
||||
ENV VIRTUAL_HOST your-domain.com
|
||||
|
||||
ADD rootfs /
|
||||
COPY --from=rootfs ["/", "/"]
|
||||
RUN echo "*/5 * * * * /usr/local/bin/wp cron event run --due-now" >> /etc/crontabs/www-data \
|
||||
&& chmod a+x /usr/local/bin/wp
|
||||
|
||||
ARG WP_VERSION
|
||||
ENV WP_VERSION ${WP_VERSION}
|
||||
ENV WP_LOCALE en_US
|
||||
ENV VIRTUAL_HOST your-domain.com
|
||||
ENV S6_KEEP_ENV 1
|
||||
#ENV S6_BEHAVIOUR_IF_STAGE2_FAILS 2
|
||||
ENV ENFORCE_DISABLE_WP_UPDATES true
|
||||
ENV WP_CLI_DISABLE_AUTO_CHECK_UPDATE true
|
||||
ENV CRON_ENABLED true
|
||||
ENV WEB_ROOT html
|
||||
|
||||
WORKDIR "/var/www/${WEB_ROOT}/"
|
||||
VOLUME ["/root/.wp-cli", "/var/www/${WEB_ROOT}", "/var/www/${WEB_ROOT}/wp-content"]
|
||||
|
||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS 2
|
||||
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/"]
|
||||
|
||||
ENTRYPOINT ["/init"]
|
||||
EXPOSE 80/TCP
|
||||
|
|
Loading…
Reference in New Issue
Block a user