designst/bedrock

Modern WordPress stack that gets you started with the best development tools, practices, and project structure


License
MIT

Documentation

Bedrock

Build Status

Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure.

Much of the philosophy behind Bedrock is inspired by the Twelve-Factor App methodology including the WordPress specific version.

Features

  • Better folder structure
  • Dependency management with Composer
  • Easy WordPress configuration with environment specific files
  • Environment variables with Dotenv
  • Autoloader for mu-plugins (use regular plugins as mu-plugins)
  • Enhanced security (separated web root and secure passwords with wp-password-bcrypt)

Use Trellis for additional features:

  • Easy development environments with Vagrant
  • Easy server provisioning with Ansible (Ubuntu 14.04, PHP 5.6 or HHVM, MariaDB)
  • One-command deploys

See a complete working example in the roots-example-project.com repo.

Requirements

Installation

  1. Create a new project - composer create-project roots/bedrock
  2. Copy .env.example to .env and update environment variables:
    • DB_NAME - Database name
    • DB_USER - Database user
    • DB_PASSWORD - Database password
    • DB_HOST - Database host
    • WP_ENV - Set to environment (development, staging, production)
    • WP_HOME - Full URL to WordPress home (http://example.com)
    • WP_SITEURL - Full URL to WordPress including subdirectory (http://example.com/wp)
    • AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT - Generate with wp-cli-dotenv-command or from the Roots WordPress Salt Generator
  3. Add theme(s) in web/app/themes as you would for a normal WordPress site.
  4. Set your site vhost document root to /path/to/site/web/ (/path/to/site/current/web/ if using deploys)
  5. Access WP admin at http://example.com/wp/wp-admin

Deploys

There are two methods to deploy Bedrock sites out of the box:

Any other deployment method can be used as well with one requirement:

composer install must be run as part of the deploy process.

Documentation

Bedrock documentation is available at https://roots.io/bedrock/docs/.

Contributing

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

Community

Keep track of development and community news.