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.
- 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)
- PHP >= 7.4
- Composer - Install
- Create a new project:
$ composer create-project eighteen73/nebula
- Update environment variables in the
.env
file. 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_URL
for 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
web
folder:/path/to/site/web/
- Access WordPress admin at
https://example.com/wp/wp-admin/