An Alpine based php8-fpm with extra modules for Content Management Systems.
3.4K
These stacks seek to provide a customisable more-ready-for-production docker-compose based templates for php based CMSs.
Simply put files in the right folders then go on your merry way laughing to the bank as you now have a solid-docker-composed-super-speedy-stack.
./YOUR_CMS_CHOICE/html folder.cd ./wordpress
chmod +x conform.sh && ./conform.sh
docker-compose up
At which point Docker should do it's thing, pulling, building and getting ready for you to take over the interwebs. Yus.
But, you probably wanna make that thing more secure. So crack into the docker compose file and change the ENVvars to something more suitable than 'secret'.
If you've already got a current CMS running, you will need to back up your static files and database.
Both MariaDB and PostgresSQL have a similar interface to import existing databases. This involves adding either a *.sql or *.sh script to the '/docker-entrypoint-initdb.d' directory. See the respective docker-compose files to see how to implement it. You may want to comment it out after the DB has been imported.
For the images to work better with popular CMS's the following php extensions have been added to the base upstream image:
apcu - For an alternate user object cache.bcmath - For arbitrary precision mathematics, which supports numbers of any size and precision up to 2147483647 decimal digits.bz2 - Provides bzip2 de/compression.calendar - Provides functions to simplify converting between different calendar formats.exif - For reading image metadata.gd - A graphics drawing library that enables manipulating image data.imagick - ImageMagick is a free and open-source software suite for displaying, creating, converting, modifying, and editing raster images.intl - Enables performing locale-aware operations including but not limited to formatting, transliteration, encoding conversion, calendar operations, conformant collation, locating text boundaries and working with locale identifiers, timezones and graphemes.mysqli - MySQL PHP driver.opcache - Improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.pdo - A lean, consistent way to access databases.pdo_mysql - A driver that implements the PHP Data Objects (PDO) interface for MySQL.pdo_pgsql - A driver that implements the PHP Data Objects (PDO) interface for PostgreSQL.pgsql - PostgresSQL PHP Driver.tidy - For correcting and minifying HTML assets.zip - Well, for zipping things!Apps installed:
ghostscript - For interpreting PDFs.imagick - For processing images.The easiest way to get the docker image to build is to use docker-compose itself, for example:
docker-compose -f ./wordpress/docker-compose.yml build
There now exists a wordpress stack that supports the use of Varnish for page caching. Varnish can speed up page load for visitors by a massive factor simply by caching the rendered page after being processed once by php.
To start playing with this stack, run:
docker-compose -f ./wordpress/docker-compose.varnish.yml up
Content type
Image
Digest
sha256:2ba896f47…
Size
80.2 MB
Last updated
17 days ago
docker pull matthewhartstonge/stackme:8.5.10-php-fpm