Beetbox - a pre-provisioned L*MP stack
A VM for local L*MP development, built with Packer, Vagrant + Ansible
Whilst it contains a set of default features, it is extremely extensible 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.
Why not use Drupal VM / Vlad?
- 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 >= 1.8
- Vagrant Hostsupdater
vagrant plugin install vagrant-hostsupdater
- Vagrant Auto-network
vagrant plugin install vagrant-auto_network
Include this Vagrantfile in the root of your project (usually the one which contains
This will automatically generate the
.beetbox directory, which will contain a
config.yml file used to configure overrides.
You can see some examples in
To get a simple Drupal site up and running with Beetbox, run the following commands:
drush dl drupal-8.1.8 && 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.8.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
These roles are mantained by Beetbox team.
- 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.
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.