PHPackages                             dingo-d/wordpress-docker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. dingo-d/wordpress-docker

ActiveDocker-template[DevOps &amp; Deployment](/categories/devops)

dingo-d/wordpress-docker
========================

A blueprint Docker config used for WordPress development on Docker with SSL on latest PHP version

305[1 issues](https://github.com/dingo-d/wordpress-docker/issues)Makefile

Since Aug 25Pushed 6y ago1 watchersCompare

[ Source](https://github.com/dingo-d/wordpress-docker)[ Packagist](https://packagist.org/packages/dingo-d/wordpress-docker)[ RSS](/packages/dingo-d-wordpress-docker/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

[![License: MIT](https://camo.githubusercontent.com/2e754161fef8bf79a7fd4432908a1476004eabcd09c59c555c864c7930fe88f4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f64696e676f2d642f776f726470726573732d646f636b65722e7376673f7374796c653d666f722d7468652d6261646765)](https://github.com/dingo-d/wordpress-docker/blob/master/LICENSE)[![GitHub All Releases](https://camo.githubusercontent.com/f49740b5cde0437d2e4d4bf55aa1e53bbf284a45052ccc03bcddc83052c8be38/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f64696e676f2d642f776f726470726573732d646f636b65722f746f74616c2e7376673f7374796c653d666f722d7468652d6261646765)](https://github.com/dingo-d/wordpress-docker/releases/)

WordPress on Docker
===================

[](#wordpress-on-docker)

A blueprint Docker configuration used for WordPress development on Docker.

This is a repository for testing out working with WordPress on Docker. You can use it as a base for your project, to play and to use as you wish.

📚 Table of contents
-------------------

[](#books-table-of-contents)

- [🎒 Requirements](#school_satchel-requirements)
- [🚀 Development setup](#rocket-development-setup)
- [📜 License](#scroll-license)

🎒 Requirements
--------------

[](#school_satchel-requirements)

- [Docker](https://www.docker.com/)

#### Optional

[](#optional)

- [Node.js](https://nodejs.org/en/)
- [Composer](https://getcomposer.org/)

🚀 Development setup
-------------------

[](#rocket-development-setup)

Development is done locally, using Docker for quick starting the application. In order to start working on the app, once you've cloned the repository locally you should use the `make` command. This will:

1. Copy the `.env.example` to `.env`
2. List all the useful commands you might want to use for kick-starting your project

You'll need to fill the created `.env` file with the necessary data.

### SSL setup

[](#ssl-setup)

This setup uses locally self signed SSL certificate to make your site run on HTTPS. In order to enable the SSL locally you'll need to set it up first.

Add the value of the `APP_HOST` variable from the `.env` file to you hosts file using `vim`, `nano` or what ever editor you like. The following is an example how to add it on MacOS using terminal

```
sudo nano /etc/hosts
```

Then add

```
0.0.0.0 APP_HOST GOES HERE
```

And save it. On Windows, the hosts is located in `C:\windows\system32\drivers\etc\hosts`.

Generate an openssl key/cert pair from your development folder:

```
make create-certificate
```

You will have to fill in the following questions;

```
* Country Name (2 letter code)
* State or Province Name (full name)
* Locality Name (eg, city)
* Organization Name (eg, company)
* Organizational Unit Name (eg, section)
* Common Name (eg, fully qualified host name) -> APP_HOST
* Email Address
```

Once this is done, you should have 2 files in the `config/certs` folder

```
APP_HOST.crt
APP_HOST.key
```

Add the `.crt` file to your keychain access and change the `Trust` settings to `Always Trust` (on MacOS).

### WordPress setup

[](#wordpress-setup)

Before starting the docker up, you'll need to copy the `wp-config.php.tmpl` to `wp-config.php`, and `ngixn.conf.tmpl` to `ngixn.conf`. If you have set up the `.env` file type

```
make copy-configs
```

You can test if everything is set up correctly for your `docker-compose.yml` with

```
make docker-config
```

This will prefill all the values with environment variables from `.env` file and resolve the paths.

After all has been set up in the environment file run

```
make docker-build
```

This will create the containers for the app. To run them (in a detached state) you need to type

```
make docker-up
```

### Production settings

[](#production-settings)

Some settings like `nginx.conf` and `php.ini` (especially the opcache settings) need to be modified for production. You should coordinate with your devops when working on production environment.

:bullseye: Additional services
------------------------------

[](#bullseye-additional-services)

You can add additional services in your `docker-compose.yml` if you want to. The `.env.example` contains the environment variables for `redis` and `mailhog` services. To use them, add them to your `docker-compose.yml` file under `services` like

```
  redis:
    image: redis
    container_name: ${REDIS_CONTAINER_NAME}
    environment:
      REDIS_SCHEME: ${REDIS_SCHEME}
      REDIS_HOST: ${REDIS_HOST}
      REDIS_PORT: ${REDIS_PORT}
    expose:
      - ${REDIS_PORT}
    ports:
      - ${REDIS_PORT}:${REDIS_PORT}

  mailhog:
    image: mailhog/mailhog
    container_name: docker-mailhog
    ports:
      - "${MAILHOG_HOST_PORT_SMTP}:1025"
      - "${MAILHOG_HOST_PORT_WEB}:8025"
```

📜 License
---------

[](#scroll-license)

WordPress on Docker is free software, and may be redistributed under the terms specified in the LICENSE file. Copyright ©2019

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/2bbf5d68008a40dd09df7de61b7f06de29163885ca93e8b9706574aadc07ff12?d=identicon)[dingo-d](/maintainers/dingo-d)

---

Top Contributors

[![dingo-d](https://avatars.githubusercontent.com/u/8638515?v=4)](https://github.com/dingo-d "dingo-d (16 commits)")

### Embed Badge

![Health badge](/badges/dingo-d-wordpress-docker/health.svg)

```
[![Health](https://phpackages.com/badges/dingo-d-wordpress-docker/health.svg)](https://phpackages.com/packages/dingo-d-wordpress-docker)
```

###  Alternatives

[deployer/deployer

Deployment Tool

11.0k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
