-
Notifications
You must be signed in to change notification settings - Fork 1
Home
The Hale Platform is a WordPress Multisite instance running on kubernetes.
Key components are made up of:
- A pod with two containers - an NGINX sidecar container and a WordPress/PHP-FPM container.
- A service that routes to the pods on port 8080.
- A connection to a single RDS instance that uses a MariaDB database. All sites are on this DB instance.
- A single s3 bucket to hold all documents and images uploaded to the sites.
Server-side caching has been added to the NGINX sidecar configuration.
We use two containers per pod. One is an NGINX sidecar container and second is the WordPress container running PHP-FPM. The NGINX sidecar container is required as it needs to mount in the same directory as WordPress and direct site specific traffic to PHP-FPM running in front of WordPress. We need PHP-FPM as NGINX cannot process PHP natively.
Both containers are official DockerHub images but have been modified to work with multisite, and are located in the root directory of hale-platform.
In order to launch the site as a WordPress Multisite instance, we need to add our own script to the WordPress official image entrypoint which allows us to add in everything that turns a normal WP site into a multisite. It is added in the image under entrypoint.
Any variables or secrets required for the application to work, are loaded in by GitActions via a Helm chart.