Planet 4 is the new Greenpeace web platform. This repository attempts to provide as consistent a local development environment as possible, in accordance with 12factor development principles.
This repository contains needed files to set up a docker development environment that consists of:
- MySQL container as database engine
- Traefik load balancing ingress controller
- OpenResty dynamic web platform based on NGINX and Lua
- php-fpm high performance PHP FastCGI implementation
- Redis key-value store caching FastCGI, object and session data
- PHPmyadmin for database administration
- Elasticsearch full-text search engine
- ElasticHQ for monitoring and managing Elasticsearch cluster
By default, the quickstart command make dev
is all you'll need to pull all required images and spin up a load balanced nginx/php/redis/mysql web application with automatic SSL generation in the comfort of your own office.
- Traefik listens on Port 80, load balancing requests to:
- OpenResty reverse proxy server, caching FastCGI requests from
- a PHP-FPM application, all backed by
- Redis key-value store and
- MySQL database server.
This guide is split into the section below:
Step-by-step guide on how to get the development environment up and running to your local machine.
🔧 Testing
Detailed information on how to run the test suite locally.
Dive into more advanced topics (eg. how to run production containers, configure wp-stateless and elasticsearch, update containers, etc).