This is a simple and powerful containerized stack for running PHP applications such as WordPress. It’s designed to be fast, secure, and easy to manage, with optional tools for administration and file management.
It includes by default:
- 🔐 Caddy – Handles HTTPS automatically
- 🐬 MariaDB – Latest version for robust MySQL support
- 🐘 Apache2 with PHP
8.4-fpm– Custom image optimized for WordPress - 🛠️ Adminer – Web-based DB access (optional)
- 📂 TinyFileManager – File manager UI (optional)
| Service | Description | Port(s) |
|---|---|---|
proxy |
Caddy reverse proxy (HTTPS & static assets) | 80, 443, 2053, 2087 |
db |
MariaDB database | Internal only |
app |
Apache2 with PHP 8.4 (custom image) | Internal only |
dbadmin |
Adminer | Internal only |
filemanager |
TinyFileManager | Internal only |
ℹ️ We use these ports because they are supported by Cloudflare (https://developers.cloudflare.com/fundamentals/reference/network-ports/).
-
Clone the repository:
git clone https://github.com/your-repo/your-project.git cd your-project -
Create a
.envfile:cp .env.example .env # Then edit it to match your environment -
Start the main stack:
docker-compose up -d
-
(Optional) Start admin tools:
docker-compose --profile admin up -d
ℹ️ The admin tools include Adminer and TinyFileManager. These are disabled by default using Docker Compose profiles.
Caddy automatically provisions HTTPS using Let's Encrypt or internal TLS if configured. If you're using this for local development, you can add this to the .env:
CADDY_CONFIG_EXTRA=tls internal
CADDY_CONFIG_EXTRA_TOOLS=tls internal- Use docker-compose logs -f to monitor logs.
- You can mount additional volumes for plugins/themes inside html/.
- (Optional) Adminer available at: https://yourdomain.com:2053 (Behind HTTP Authentication)
- (Optional) TinyFileManager available at: https://yourdomain.com:2087 (Behind HTTP Authentication. After authentication, please use 'admin' and 'admin@123' in the TinyFileManager login form)
- You can build your own image instead by uncommenting the
build:section indocker-compose.yml.
07-Aug-2025