Sign inSign up

alvarolsamudio/wordpress-speed

By alvarolsamudio

•Updated 7 months ago

contains wordpress and a combination of plugins that speed up the development of a page

Image
Integration & delivery
Web servers
Content management system
1

4.0K

alvarolsamudio/wordpress-speed repository overview

⁠🚀 WordPress Speed - High-Performance Stack

Docker Hub Architecture

A highly optimized WordPress stack designed for speed, scalability, and ease of use. This project moves away from traditional monolithic setups to a modern, containerized architecture using Nginx, PHP-FPM, MariaDB, and Redis.

⁠🏗️ Architecture

  • Web Server: Nginx (Alpine)⁠ - Configured as a high-speed reverse proxy with static file caching.
  • PHP Processor: PHP 8.3-FPM (Alpine)⁠ - Ultra-lightweight and tuned with Opcache best practices.
  • Database: MariaDB⁠ - Robust and reliable relational database.
  • Object Cache: Redis⁠ - Pre-configured and enabled for dramatic reduction in database queries.
  • Automation: WP-CLI⁠ - Automated installation, localization (Spanish), and performance plugin management.

⁠⚡ Key Features

  • Automated Setup: Installs WordPress and essential performance plugins automatically.
  • Performance Tuned: Optimized php.ini and nginx.conf settings for low Time to First Byte (TTFB).
  • Health Monitoring: Integrated healthchecks for all services.
  • Redis Ready: Native support for object caching out of the box.
  • Spanish Localized: Automatically sets the site language to Spanish.

⁠🚀 Getting Started

⁠Prerequisites
⁠1. Configure Environment

Clone the repository and create your .env file:

cp .env.example .env

Edit .env to set your desired credentials and site title.

⁠2. Launch Stack

Start all services in detached mode:

docker compose up -d
⁠3. Automated Installation

Once the containers are up and healthy, run the initialization script via WP-CLI:

docker compose run --rm wp-cli sh /scripts/install-wp.sh

Your site is now available at http://localhost:8080⁠!

⁠🐳 Docker Hub usage

This project is automatically published to Docker Hub. You can use the optimized WordPress image directly in your own docker-compose.yml:

services:
  wordpress:
    image: alvarolsamudio/wordpress-speed:latest
    # ... other config
⁠CI/CD - Automated Publishing

Every push to the master branch or new version tag (v*.*.*) triggers a GitHub Action that:

  1. Builds the optimized fpm-alpine image.
  2. Performs security signing with cosign.
  3. Pushes the image to docker.io/alvarolsamudio/wordpress-speed.

Note

If you fork this repo, ensure you set `DOCKER_HUB_USERNAME` and `DOCKER_HUB_TOKEN` in your GitHub Secrets.

⁠🛠️ Customization

  • Plugins: The setup automatically installs redis-cache, autoptimize, wp-optimize, and query-monitor.
  • PHP Settings: Tweak server parameters in php/conf.d/speed.ini.
  • Docker Hub: Configured for automated publishing via GitHub Actions.

⁠👥 Maintenance

Tag summary

Content type

Image

Digest

sha256:392888d44…

Size

524 Bytes

Last updated

7 months ago

docker pull alvarolsamudio/wordpress-speed:sha256-b04867a0f9c03b1088f516840f008cbffbdf7d9b77f04a4c68a896ebc697278d.sig