Nebula Framework
Overview
Nebula is a modern WordPress stack that helps you get started with the best development tools and project structure.
Much of the philosophy behind Nebula is inspired by the Twelve-Factor App methodology including the WordPress specific version.
Nebula is heavily based on Bedrock by Roots with an eighteen73 flavour.
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 more secure password algorithm)
Requirements
- PHP >= 7.4
- Composer - Install
Installation
- Create a new project:bash
$ composer create-project eighteen73/nebula - Update environment variables in the
.envfile. Wrap values that may contain non-alphanumeric characters with quotes, or they may be incorrectly parsed.
- Database variables
DB_NAME- Database nameDB_USER- Database userDB_PASSWORD- Database passwordDB_HOST- Database host- Optionally, you can define
DATABASE_URLfor using a DSN instead of using the variables above (e.g.mysql://user:password@127.0.0.1:3306/db_name)
WP_ENVIRONMENT_TYPE- Set to environment (development,staging,production)WP_HOME- Full URL to WordPress home (https://example.com)WP_SITEURL- Full URL to WordPress including subdirectory (https://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
- Generate with the Nebula keys generator
- Add theme(s) in
web/app/themes/as you would for a normal WordPress site - Set the document root on your webserver to Nebula's
webfolder:/path/to/site/web/ - Access WordPress admin at
https://example.com/wp/wp-admin/