A VM for local L*MP development, built with Packer, Vagrant + Ansible
Beetbox is essentially a pre-provisioned version of Drupal VM mainly to speed up initial build time, but also to reduce the size of each VM by leveraging linked clones.
Whilst it contains a set of default features, it is extremely extensable and almost anything can be overridden/extended with a simple YAML config file.
It is designed to have an instance (VM) per project and be integrated into a VCS like git, so that configuration can be easily shared within a team and a setup of a new project should be as simple as git clone ...; vagrant up
.
This particular project contains the plumbing to manage the automated build of the pre-provisioned Vagrant base box, so almost all functionality is provided by ansible roles external to this project.
- You only add config to your project and don't need to manage a fork of the whole provisioning system.
- It uses a pre-provisioned base box so it’s much faster to provision.
- Each new version of the box gets published to Atlas only if all roles are provisioned making the box always stable.
- With linked clones each VM is a small clone of a single master.
- You can reuse the same provisioning system for a CI environment.
- Minimal host machine dependencies.
vagrant plugin install vagrant-hostsupdater
vagrant plugin install vagrant-auto_network
Include this Vagrantfile in the root of your project (usually the one which contains index.php
) and vagrant up
.
This will automatically generate the .beetbox
directory, which will contain a config.yml
file used to configure overrides.
You can see some examples in config.yml
To get a simple Drupal site up and running with Beetbox, run the following commands:
drush dl drupal-8.1.2 && cd $_
curl https://raw.githubusercontent.com/beetboxvm/beetbox/master/Vagrantfile > Vagrantfile
vagrant up
After which you can install the site at http://drupal-8.1.2.local/install.php
or add the following to ./beetbox/config.yml
and run vagrant provision
to automatically install drupal:
drupal_install_site: yes
drupal_account_name: admin
drupal_account_pass: admin
For PHP 7 add php_version: "7.0"
to ./beetbox/config.yml
, then run vagrant provision
.
These roles are mantained by Beetbox team.
Project | Build status |
---|---|
Backdrop | |
CakePHP | |
Concrete5 | [](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-conc rete5) |
Drupal | |
Kohana | |
Modx | |
Silverstripe | |
Slim | |
Wordpress |
http://beetbox.readthedocs.io/en/latest/
http://beetbox.readthedocs.io/en/latest/contributing/contributing/
- Feature requests should be created on FeatHub.
- Bugs should be reported in the GitHub Beetbox Issue Queue.
- Use pull requests (PRs) to contribute to Beetbox.
This project would not be possible without geerlingguy's awesome Ansible roles from Drupal VM. We encourage you to support him by buying his book Ansible for DevOps.
Beetbox is primarily maintained by the Drupal Melbourne (Australia) community.
Please follow @beetboxvm for announcements.
This project is licensed under the MIT open source license.