-
Notifications
You must be signed in to change notification settings - Fork 1
Home
The Hale Platform is a WordPress Multisite instance that runs both locally and in CloudPlatforms.
This wiki guidance will focus on the CloudPlatforms architecture. For guidance on using the platform locally, go to the local development page.
When running on kubernetes, the 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.
Hale Platform uses a WAF to filter and monitor http traffic to the platform. Further information can be found in CloudPlatforms WAF guidance documentation.
See what microservices we run alongside this application.
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.