SkillAgentSearch skills...

Wordpress

Docker based Wordpress deployment using a collection of optimized containers w/ Nginx, PHP-FPM, MariaDB and Redis.

Install / Use

/learn @openbridge/Wordpress

README

Docker WordPress 6 with Nginx, PHP-FPM, MariaDB, and Redis

  • Are you tired of slow, inefficient WordPress hosts?
  • Struggling with barebones "default" installs that leave all the tweaking and optimizations to figure out?
  • Frustrated with slow page loading time and slow server response times?
  • Dealing with missing functions, a plugin blacklist, and limits on customizations or themes?
  • Annoyed by using an army of cache plugins to get a functioning site?
  • Sick of being in a shared server with a dozen other WordPress sites?

This is a perfect opportunity to get a WordPress Stack that provides an automated, super-fast solution for those who want to maximize performance and prefer dedicated WordPress installs.

-->> Order Today! <<--

Why the Docker Wordpress Stack?

A high-performance Docker WordPress micro-services stack is based on lightweight, secure, up-to-date, and highly optimized set Docker services. We fuse a best of breed collection of Docker services from NGINX, PHP-FPM, MariaDB and Redis. Together they create a performance driven, flexible environment that delivers reliability, security, and scale.

Powerful NGINX and PHP optimizations ensure optimal WordPress performance, reducing or eliminating the need of WordPress plugins that create unnecessary overhead. As a result you can easily serve millions of requests a day with minimal CPU, RAM and disk resources.

This is the only WordPress Docker service that combined Nginx, PHP-FPM, MariaDB and Redis have been combined to deliver the following features:

  • Reverse Proxy
  • SEO optimizations
  • Customizable configurations
  • SSL with support for Lets Encrypt SSL certificates
  • Mime-type based caching
  • Redis LRU cache
  • Fastcgi cache
  • Proxy cache
  • tmpfs file cache
  • Brotli and Gzip compression
  • Redirects for moved content
  • Security & Bot Protection
  • Builtin monitoring of processes, ports, permissions... with Monit
  • Standardized UID/GID and Permissions (www-data)
  • Support GeoIP
  • Rate limited connections to slow down attackers
  • CDN support
  • Cache purge
  • Opcache
  • Paired with high performance PHP-FPM container
  • Cerbot

There are many, many other benefits to this system.

-->> Order Today! <<--

Wordpress PageSpeed Benchmark

This Wordpress speed test was run using PageSpeed. This was running a full Wordpress stack and the default WP theme as detailed here: https://github.com/openbridge/wordpress

The install scored a 100, including exceptional performance on all the infrastructure benchmarks.

<img src="images/developers.google.com-test.png" alt="Pagespeed-wordpress" style="width: 525px;"/>

User Guide

<!-- /TOC -->

Getting Started

Step 1: Order Your Wordpress Installer

First, you need to order your installer. You can get that here!

-->> Order Today! <<--

Your Installer

Once your order is complete you will receive an installer script. It will have the following format:

curl -sSL https://get.wordpressapp.sh/<your-script>.sh | DOMAIN=<yourdomain> sh

You will notice two parts to your WordPress installer link. The first part is is <your-script>.sh. The token reflects your specific purchase key. We will automatically create a unique token for your installer. The final link will look like this:

curl -sSL https://get.wordpressapp.sh/sctipt.sh | DOMAIN=<yourdomain> sh

Next, you will need to add your actual domain name. This means DOMAIN= should reference DNS you attached to your IP address. Replace the placeholder with your actual domain. It should look like this:

curl -sSL https://get.wordpressapp.sh/sctipt.sh | DOMAIN=www.mywebsite.com sh

All set? Lets move to Step 2 and get your hosting environment setup

Step 2: Getting Your Hosting Environment Setup

Within your hosting provider, make sure you have done some preparation in advance of running the installer. The following are three key areas to care for:

  • IP and DNS: Make sure your IP address and domain name are configured. This means the DNS you are using can get resolved to an IP address. If this is not setup, the Letsencrypt process will not be able to provision your SSL certs. The installer will fallback to self-signed SSL certs. If your IP (x.x.x.x) does not point to a DNS A Record ( yourhost.com or www.yourhost.com ) then you will need to manually adjust this later.

  • Host Operating System: The installer will work with CentOS 7 x64, Amazon Linux 1/2 x64 and Ubuntu 18/16 x64. Ideally for CentOS you will use the latest release. The same is for Ubuntu. For Amazon Linux, you can use Amazon Linux or Amazon Linux 2.

Here are some examples of using Amazon Lightsail:

Amazon Linux

<img src="./images/lightsail-amazon-os.png" alt="Amazon OS" width="450"/>

Ubuntu

<img src="./images/lightsail-ubuntu-os.png" alt="Ubuntu" width="450"/>

CentOS

<img src="./images/lightsail-centos-os.png" alt="CentOS" width="450"/>
  • Firewall: Make sure ports 80 and 443 are open. Also, if you SSH into your server make sure 22 is also open.

  • Server Ram: We suggest a server with no less than 1 GB of ram. Can things run with 512 MB, yes. However, there is a risk of hitting memory constraints. The difference between an instance with 512 MB of ram and one with 1 GB of ram on Amazon Lightsail is $1.50 USD a month. Let's put it this way, the risk of hitting memory limits is not worth $1.50 in savings you might realize.

<img src="./images/lightsail-price.png" alt="Lightsail Pricing" width="500"/>

All set with these? You are ready to move to Step 3.

Step 3: Launch Your Server

Within your preferred hosting provided, launch a server instance that will host WordPress. Remember, make sure the server meets prerequisites we listed earlier for operating system, memory, firewall and DNS.

Running Your Installer

There are two options for running the WordPress installer:

  • A: USERDATA: preloading the installer via your hosting provider admin console USERDATA function
  • B: SSH: connecting to your server via SSH and running the installer via command line

A. USERDATA Approach

If your hosting provider supports USERDATA you can simply cut and paste your installer into the form field they provide. We normally suggest setting #!/usr/bin/env sh in the first line to properly set the runtime context for the installer. This is an example:

#!/usr/bin/env sh
curl -sSL https://get.wordpressapp.sh/script.sh | DOMAIN=www.mywebsite.com sh

Here is what it looks like within Lightsail: Amazon Lightsail userdata

Thats it! When your host provisions the server the installer will get run automatically. Once complete, your server will be ready to go!

For reference, here are Amazon and Digital Ocean describe the USERDATA process in more detail:

Note: USERDATA ONLY applies when launching your server the first time, not during a start/stop of an instance.

Are you using the Amazon Marketplace image?

Take me to [Amazon AMI instructions](## I'm using the Amazon Marketplace AMI. How do I set the USERDATA for it?)

B. SSH Approach

Is the use of USERDATA required? NO! You can SSH your server and run the same command:

[root@ip-222-21-2-11 ec2-user]: curl -sSL htt
View on GitHub
GitHub Stars73
CategoryOperations
Updated3mo ago
Forks17

Security Score

97/100

Audited on Dec 18, 2025

No findings