Docker Compose and WordPress
Use WordPress locally with Docker using Docker compose
Contents
- A
Dockerfile
for extending a base image and using a custom Docker image with an automated build on Docker Hub
- PHP 8.1
- Custom domain and HTTPS support. So you can use for example https://myapp.local
- Custom nginx config in
./nginx
- Custom PHP
php.ini
config in ./config
- Volumes for
nginx
, wordpress
and mariadb
- Composer - dependency manager for PHP
- Bedrock - modern development tools, easier configuration, and an improved secured folder structure for WordPress
- WP-CLI - WP-CLI is the command-line interface for WordPress.
- MailHog - An email testing tool for developers. Configure your outgoing SMTP server and view your outgoing email in a web UI.
- PhpMyAdmin - free and open source administration tool for MySQL and MariaDB
- PhpMyAdmin config in
./config
- CLI script to create a SSL certificate using mkcert
Instructions and help
See the new Wiki
Changelog
2024-05-28
- Update Composer to use PHP 8.1
- Added a GitHub Wiki for instructions
2022-05-28
- Use PHP 8.1 Dockerfile is updated.
2022-05-28
- Use php:8.0-fpm-alpine as the base image on the image in Dockerfile
2022-05-28
- Updated the Docker image to use PHP 8
2021-08-04
- Updated to WordPress 5.8.0
2021-03-16
- Changed root
.env-example
to .env.example
to match the git ignore patterns. Thanks @scottnunemacher
2021-03-05
- Clarify steps in the readme
2021-03-02
- Fixed a misstake so instead of
./src/.env-example
, it should be ./src/.env.example
.
- Redirect HTTP to HTTPS. Thanks @humblecoder
2021-01-02
- Use
NGINX_ENVSUBST_TEMPLATE_SUFFIX
. Use a template and better substution of ENV variables in nginx config.
2020-10-04
- Added mariadb-client (Solves #54)
2020-09-15
- Updated Bedrock. Update WordPress to 5.5.1 and other composer updates.
2020-07-12
- Added Mailhog. Thanks @mortensassi
2020-05-03
- Added nginx gzip compression
2020-04-19
- Added Windows support for creating SSH cert, trusting it and setting up the host file entry. Thanks to @styssi
2020-04-12
- Remove port number from
DB_HOST
. Generated database connection error in macOS Catalina. Thanks to @nirvanadev
- Add missing ENV variable from mariadb Thanks to @vonwa
2020-03-26
- Added phpMyAdmin config.Thanks to @titoffanton
2020-02-06
- Readme improvements. Explain
/etc/hosts
better
2020-01-30
- Use
Entrypoint
command in Docker Compose to replace the domain name in the nginx config. Removing the need to manually edit the domain name in the nginx conf. Now using the .env
value DOMAIN
- Added APP_NAME in
.env-example
Thanks to @Dave3o3
2020-01-11
- Added
.env
support for specifying your own app name, domain etc in Docker and cli scripts.
- Added phpMyAdmin. Visit http://127.0.0.1:8080/
2019-08-02