- Fix bug that prevented url form of plugins/themes to fail due to nullglob interacting with the parsing. #176
- Fix bug preventing a default theme from being installed when no theme dependencies or volumes exist. #172
- Fix small bug that occurred when no volumes were included in
/data
due to not having nullglob set.
- Fix bug in plugin/theme activation caused by attempting to activate using a URL rather than the slug in cases where plugins/themes are installed using zip URL.
- Drop PHP 7.0 and 7.1 images.
- Add PHP 7.4 image.
- Fix bug in run.sh resulting from an invalid flag given to
find
- Make runtime script much simpler and more reliable. #165
- Increase verbosity of logging related to database interactions. #165
- feat: bump default theme install to "twentytwenty"
- feat: increase
upload_max_filesize
to50M
- fix: include "must-use" plugins in plugin volume check
- fix: add --create-dirs to curl in dockerfile
- fix: improve plugin volumes check to also include plugins that are a single php file
- Add missing
bcmath
andimagick
PHP extensions recommended by WordPress 5.2's Health Check.
- Add
php7.3
- Add
/docker-entrypoint-initwp.d/
directory check to allow users to mount and run arbitrary scripts on build. - Use
twentynineteen
theme by default.
- Automatically perform a WordPress database update after importing, if needed.
- Update example files and error messages related to bindfs.
- Add support for Redis object caching.
- Allow user to specify a different database charset via environment variable (#137)
BREAKING CHANGE: The WordPress service must now be configured in one of the following ways:
(preferred)
services:
wordpress:
cap_add:
- SYS_ADMIN
devices:
- /dev/fuse
OR
(try to avoid if possible)
services:
wordpress:
privileged: true
This configuration allows the wordpress container to mount the WordPress
directory to the web root with back and forth syncronization using bindfs. This
configuration ensures that when editing the files/folders manually on your
system, they have the proper admin
permissions in the /app directory, and
when the server edits files/folders from WordPress, the webroot always have the
proper www-data
permissions in the web root.
BREAKING CHANGE: URL_REPLACE
environment variable now only accepts after_url
, rather than before_url,after_url
. This will gracefully fix itself if it encounters the old format for this version only, but will break on subsequent versions.
- Create and use a non-root user (admin) with passwordless sudo priviledges, rather than using the root user.
- Plugins and themes can now be space-separated (preferred) or comma-separated (legacy).
- Readdress #110 to print out logs in a similar, but greatly simplified, format.
- Install and remove themes and plugins in parallel.
- Greatly simplify build pipeline.
- Add PHP 7.2 (
latest
,latest-php7.2
,0.17.0-php7.2
) - Add
DB_USER
config option to environment variables
- BREAKING CHANGE: Builds will now exit if any plugin or theme installs fail.
- Improve logging.
- REALLY fix error causing volumed plugins and/or themes to be deleted.
- Move
.dockercache
out of index directory so it can't be accessed directly.
- Fix error causing volumed plugins to be deleted.
- Always flush
.htaccess
to add rewrite rules back in the event a plugin modified it (e.g.w3-total-cache
).
- Add
wp-cli
bash completions to the wordpress container.
Note: Both deprecations will still work as usual until the next release cycle.
The build process is now aware of locally-volumed plugins and themes automatically.
Additionally, listing locally-volumed plugins and themes in your docker-compose.yml
file is optional; you may list them if you'd like to keep your compose file declarative, or you may skip listing them completely. The build will complete the same either way.
We chose to rename this because, although you may search and replace strings that are not URLs, the build process requires them to be.
This name reflects that requirement better and will lead to less confusion down the road.
Logging has been changed to show necessary information by default.
- Add
php7.1
base image. - Widespread efficiency improvements to build process.
- Reduce the number of Dockerfile layers.
- If
SERVER_NAME
is specified (eg.example.com
), create aServerAlias
in the apache configs forwww.example.com
.
- Plugins and themes are only pruned if they meet the following criteria (Closes #51):
- Not listed in
docker-compose.yml
. - Not added as a local volume.
- Not listed in
- Adjust permissions of volumed files and directories so that they remain editable outside the container, and remain secure. (Closes #12)
- Fix critical security vulnerability. HT @joerybruijntjes.
- Add
SERVER_NAME
variable to allow for quickly setting that directive in the apache config for users interested in running in production.
- Add
certbot
into the image to allow for easily obtaining and renewing SSL certificates
- Add missing
exif
php extension to handle WordPress media upload metadata parsing. - Bump default base theme to
twentyseventeen
- This project now maintains 2 separate
Dockerfile
, depending on the version of PHP you'd like to have installed.
Available Dockerfiles:
PHP Version | Tags |
---|---|
7.0 | latest latest-php7.0 0.12.1 0.12.1-php7.0 |
5.6 | latest-php5.6 0.12.1-php5.6 |
- Add
WP_VERSION
environment variable which allows users to specify which version of WordPress is installed.
- fix: Add default permalink structure (
/%year%/%monthnum%/%postname%/
). Closes #42.
- BREAKING CHANGE: Explicitly listing all plugin/theme requirements (including those located in volumed directories) required.
- Refactor run.sh into functions
- Add new URL plugin format to better check existence after initial build.
- Add new URL theme format to better check existence after initial build.
- Add
VERBOSE
environment variable option which allows the build to run verbosely if one chooses. - Prettier logging.
- Add
--activate
after plugin installs so that all plugins start out activated. - Many other improvements
- Add
DB_HOST
environment variable - Fix #46 - Various bug fixes and improvements
- Add
DB_PREFIX
optional param - Fix #37 - Only create .htaccess for non-multisite installations - Fix #32
- Various bug fixes and improvements
- Support Wordpress Multisite - Fix #33
- Fix a typo in the gulpfile
- Update wp-cli
gulp clean
now also clears generated templates- Support for
WP_DEBUG_LOG
andWP_DEBUG_DISPLAY
options
- Clear any apache pid file before starting apache
- Add a script to run wp-cli via npm
- Recreate the
wp-cli.yml
andwp-config.php
every time to make sure they are up to date.
- Remove all the scripts
- Consolidate and improve the
run.sh
- Update the documentation