All Projects → roots → Trellis

roots / Trellis

Licence: mit
WordPress LEMP stack with PHP 8.0, Composer, WP-CLI and more

Programming Languages

Jinja
831 projects
python
139335 projects - #7 most used programming language
ruby
36898 projects - #4 most used programming language
shell
77523 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Trellis

Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-95.9%)
Mutual labels:  ansible, wordpress, vagrant, virtualbox, local
Drupal Vm
A VM for Drupal development
Stars: ✭ 1,348 (-41.26%)
Mutual labels:  ansible, vagrant, virtualbox, local
Packer Boxes
Jeff Geerling's Packer build configurations for Vagrant boxes.
Stars: ✭ 495 (-78.43%)
Mutual labels:  ansible, vagrant, virtualbox
Vccw
A Vagrant based development environment.
Stars: ✭ 1,012 (-55.9%)
Mutual labels:  wp-cli, wordpress, vagrant
Packer Centos 6
This build has been moved - see README.md
Stars: ✭ 78 (-96.6%)
Mutual labels:  ansible, vagrant, virtualbox
appside
Multitenant environment automation.
Stars: ✭ 36 (-98.43%)
Mutual labels:  vagrant, virtualbox, bedrock
Kube Ansible
Build a Kubernetes cluster via Ansible playbook. 🔧 🔧 🔧
Stars: ✭ 354 (-84.58%)
Mutual labels:  ansible, vagrant, virtualbox
Splunkenizer
Ansible framework providing a fast and simple way to spin up complex Splunk environments.
Stars: ✭ 73 (-96.82%)
Mutual labels:  ansible, vagrant, virtualbox
Molecule Ansible Docker Aws
Example project showing how to test Ansible roles with Molecule using Testinfra and a multiscenario approach with Docker, Vagrant & AWS EC2 as infrastructure providers
Stars: ✭ 72 (-96.86%)
Mutual labels:  ansible, vagrant, virtualbox
Devbox Golang
A Vagrant box with Ansible provisioning for setting up a vim-based Go(lang) development environment
Stars: ✭ 84 (-96.34%)
Mutual labels:  ansible, vagrant, virtualbox
Wplib Box
The Best Local Dev Server for WordPress Developers
Stars: ✭ 204 (-91.11%)
Mutual labels:  wp-cli, wordpress, virtualbox
Packer Ubuntu 1804
This build has been moved - see README.md
Stars: ✭ 101 (-95.6%)
Mutual labels:  ansible, vagrant, virtualbox
Packer Centos 7
This build has been moved - see README.md
Stars: ✭ 223 (-90.28%)
Mutual labels:  ansible, vagrant, virtualbox
Wocker
Create your WordPress development environment in 3 SECONDS!
Stars: ✭ 482 (-79%)
Mutual labels:  wp-cli, wordpress, vagrant
Packer Templates
Scripts and Templates used for generating Vagrant images
Stars: ✭ 219 (-90.46%)
Mutual labels:  ansible, vagrant, virtualbox
Packer Ubuntu 1404
DEPRECATED - Packer Example - Ubuntu 14.04 Vagrant Box using Ansible provisioner
Stars: ✭ 81 (-96.47%)
Mutual labels:  ansible, vagrant, virtualbox
Vagrant Box Templates
Stars: ✭ 100 (-95.64%)
Mutual labels:  ansible, vagrant, virtualbox
Rhcsa8env
This is a RHCSA8 study environment built with Vagrant/Ansible
Stars: ✭ 108 (-95.29%)
Mutual labels:  ansible, vagrant, virtualbox
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (-91.98%)
Mutual labels:  ansible, wordpress
Kubernetes Vagrant Centos Cluster
Setting up a distributed Kubernetes cluster along with Istio service mesh locally with Vagrant and VirtualBox, only PoC or Demo use.
Stars: ✭ 1,750 (-23.75%)
Mutual labels:  vagrant, virtualbox

Trellis

MIT License Release Build Status Follow Roots

Ansible-powered LEMP stack for WordPress
Built with ❤️

Official Website | Documentation | Change Log

Supporting

Trellis is an open source project and completely free to use.

However, the amount of effort needed to maintain and develop new features and products within the Roots ecosystem is not sustainable without proper financial backing. If you have the capability, please consider donating using the links below:

Donate via Patreon Donate via PayPal

Overview

Ansible playbooks for setting up a LEMP stack for WordPress.

  • Local development environment with Vagrant
  • High-performance production servers
  • Zero-downtime deploys for your Bedrock-based WordPress sites
  • trellis-cli for easier management

What's included

Trellis will configure a server with the following and more:

  • Ubuntu 20.04 Focal LTS
  • Nginx (with optional FastCGI micro-caching)
  • PHP 8.0
  • MariaDB (a drop-in MySQL replacement)
  • SSL support (scores an A+ on the Qualys SSL Labs Test)
  • Let's Encrypt for free SSL certificates
  • HTTP/2 support (requires SSL)
  • Composer
  • WP-CLI
  • sSMTP (mail delivery)
  • MailHog
  • Memcached
  • Fail2ban and ferm

Documentation

Full documentation is available at https://docs.roots.io/trellis/master/installation/.

Requirements

See the full installation docs for requirements and our getting started pages for more OS specific instructions.

Installation

Create a new project:

$ trellis new example.com

Local development setup

  1. Review the automatically created site in group_vars/development/wordpress_sites.yml
  2. Customize settings if necessary

Start the Vagrant virtual machine:

$ trellis up

Read the local development docs for more information.

Remote server setup (staging/production)

A base Ubuntu 18.04 (Bionic) or Ubuntu 20.04 (Focal LTS) server is required for setting up remote servers.

  1. Configure your WordPress sites in group_vars/<environment>/wordpress_sites.yml and in group_vars/<environment>/vault.yml (see the Vault docs for how to encrypt files containing passwords)
  2. Add your server IP/hostnames to hosts/<environment>
  3. Specify public SSH keys for users in group_vars/all/users.yml (see the SSH Keys docs)

Provision the server:

$ trellis provision production

Or take advantage of its Digital Ocean support to create a Droplet and provision it in a single command:

$ trellis droplet create production

Read the remote server docs for more information.

Deploying to remote servers

  1. Add the repo (Git URL) of your Bedrock WordPress project in the corresponding group_vars/<environment>/wordpress_sites.yml file
  2. Set the branch you want to deploy (defaults to master)

Deploy a site:

$ trellis deploy <environment> <site>

Rollback a deploy:

$ trellis rollback <environment> <site>

Read the deploys docs for more information.

Migrating existing projects to trellis-cli:

Assuming you're using the standard project structure, you just need to make the project trellis-cli compatible by initializing it:

$ trellis init

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Trellis sponsors

Help support our open-source development efforts by becoming a patron.

Kinsta KM Digital Carrot C21 Redwood Realty WordPress.com Pantheon

Community

Keep track of development and community news.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].