Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/inmotionhosting/ansible-role-wordpress_ultrastack
Modular Ansible Role for deploying and configuring WordPress, including InMotion's optimized UltraStack
https://github.com/inmotionhosting/ansible-role-wordpress_ultrastack
ansible ansible-galaxy ansible-role ansible-roles
Last synced: about 1 month ago
JSON representation
Modular Ansible Role for deploying and configuring WordPress, including InMotion's optimized UltraStack
- Host: GitHub
- URL: https://github.com/inmotionhosting/ansible-role-wordpress_ultrastack
- Owner: inmotionhosting
- License: gpl-3.0
- Created: 2020-03-10T15:04:35.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-25T19:07:16.000Z (over 1 year ago)
- Last Synced: 2024-09-30T17:42:39.021Z (about 2 months ago)
- Topics: ansible, ansible-galaxy, ansible-role, ansible-roles
- Language: Jinja
- Homepage: https://galaxy.ansible.com/inmotionhosting/wordpress_ultrastack
- Size: 94.7 KB
- Stars: 7
- Watchers: 7
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/inmotionhosting/ansible-role-wordpress_ultrastack.png?branch=master)](https://travis-ci.org/inmotionhosting/ansible-role-wordpress_ultrastack) [![GPL-3.0 License](https://img.shields.io/github/license/inmotionhosting/ansible-role-wordpress_ultrastack.svg?color=blue)](https://github.com/inmotionhosting/ansible-role-wordpress_ultrastack/blob/master/LICENSE) [![GitHub stars](https://img.shields.io/github/stars/inmotionhosting/ansible-role-wordpress_ultrastack.svg)](https://github.com/inmotionhosting/ansible-role-wordpress_ultrastack/stargazers)
# Ansible Role: Wordpress UltraStack
Modular Ansible Role for deploying and configuring WordPress featuring InMotion's optimized UltraStack configuration
## Requirements
* CentOS 7.x or later
* Debian 9 or later
* Ubuntu 16.04 LTS or later## Dependencies
### Required
```yaml
- role: inmotionhosting.apache
- role: inmotionhosting.mysql
- role: inmotionhosting.php_fpm
- role: inmotionhosting.wordpress
- collection: community.general
- collection: ansible.posix
```### Optional
The following roles are required when `use_ultrastack: true````yaml
- role: inmotionhosting.nginx_proxy
- role: inmotionhosting.redis
```## What is UltraStack?
UltraStack is a set of server configurations created by InMotion Hosting technical staff focused on optimization and performance for specific content management systems.
## What is included?
### NGINX
[NGINX](https://www.nginx.com/resources/wiki/) is part of UltraStack, serving as a reverse-proxy and cache to significantly speed up your website requests. Page cache with a short TTL is utilized to allow efficient handling of a large influx of traffic and cache rules to prevent it from caching logged in/cookie'd users.
### PHP-FPM
[PHP-FPM](https://php-fpm.org/) (FastCGI Process Manager) is an alternative to conventional PHP implementation. Each pool of PHP-FPM works as its own full instance of PHP complete with it's own configs, limits, and resources.
### Redis
[Redis](https://redis.io/), short for Remote Dictionary Server, provides object caching for SQL and other server processes within a database and utilizes much faster system memory instead of using server hard drive resources. This allows for taking those intensive common database queries and caching them which allows for a significantly content delivery.
## Role Variables
Available variables are listed below with their default values (you can also see `defaults/main.yml`)
| Variable | Definition |
| -------- | ---------- |
| use_ultrastack | By default, the inclusion of this role will enable the UltraStack configuration. Switching this to false will prevent the installation of Nginx and Redis.
| use_redis | Enable/disable Redis installation
| site_domain | The domain to associate with service configuration.
| ultrastack_w3tc_settings | If installing on top of WordPress, configure additional W3TC settings.
| nginx_ratelimit_enable | Enable rate limiting on nginx_ratelimit_paths
| nginx_ratelimit_burst | Burst setting on nginx_ratelimit_zone
| nginx_ratelimit_nodelay | Enable or disable Nginx's delay setting on nginx_ratelimit_zone
| nginx_ratelimit_zone | Name of the Nginx rate limit zone
| nginx_ratelimit_paths | Regex paths to rate limit
| nginx_cache_bypass_paths | Regex paths on which to enable cache bypass
| nginx_cache_purge_enable | Switch to enable location block to purge cache using ngx_cache_purge modulle
| nginx_vts_enable | Switch to enable NGINX Configuration for vts module
| nginx_cache_profile | Load a pre-configured NGINX Cache Profile___Note:___ If using the UltraStack optimizations its highly recommended to use the `w3-total-cache` plugin.
## Example Playbook
```yaml
- hosts: wordpress_ultrastack
roles:
- role: inmotionhosting.apache
- role: inmotionhosting.mysql
- role: inmotionhosting.php_fpm
- role: inmotionhosting.wordpress
# nginx_proxy and redis are included conditionally from within the
# wordpress_ultrastack role
- role: inmotionhosting.wordpress_ultrastack
vars:
use_ultrastack: true
```## License
GPLv3
## Author Information
[InMotion Hosting](https://inmotionhosting.com)