PHPackages                             beet/box - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. beet/box

AbandonedArchivedComposer-plugin[DevOps &amp; Deployment](/categories/devops)

beet/box
========

A pre-provisioned L\*MP stack VM

0.8.20(8y ago)9142.1k19[12 issues](https://github.com/beetboxvm/beetbox/issues)[2 PRs](https://github.com/beetboxvm/beetbox/pulls)1MITShell

Since Jan 15Pushed 6y ago4 watchersCompare

[ Source](https://github.com/beetboxvm/beetbox)[ Packagist](https://packagist.org/packages/beet/box)[ Docs](https://github.com/beetboxvm/beetbox)[ RSS](/packages/beet-box/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)Dependencies (5)Versions (47)Used By (1)

Beetbox - a pre-provisioned L\*MP stack
=======================================

[](#beetbox---a-pre-provisioned-lmp-stack)

A VM for local L\*MP development, built with Packer, Vagrant + Ansible

Beetbox is essentially a pre-provisioned version of [Drupal VM](http://www.drupalvm.com/) mainly to speed up initial virtual machine build time, but also to reduce the size of each VM by leveraging [linked clones](https://www.hashicorp.com/blog/vagrant-1-8.html).

Whilst it contains a set of default feature configuration, 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.

[![Circle CI](https://camo.githubusercontent.com/104cd20ccecc27d9afb68f06df595e0ac1b32c59eabe59fe65489ac970ea7a57/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f62656574626f782e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/beetbox) [![Documentation Status](https://camo.githubusercontent.com/87321519a980f82bbd76b7a7e3ca7bba9fdb597c2bef5f08b7cc83fff21fa7ac/68747470733a2f2f72656164746865646f63732e6f72672f70726f6a656374732f62656574626f782f62616467652f3f76657273696f6e3d737461626c65)](http://beetbox.readthedocs.org/en/stable/?badge=stable)[![Latest Stable Version](https://camo.githubusercontent.com/df6f338c0019cbe39bd9b7d1f34cfef0b4d2728271fb6b133b48ec3d6cd7399a/68747470733a2f2f706f7365722e707567782e6f72672f626565742f626f782f762f737461626c65)](https://packagist.org/packages/beet/box)[![Total Downloads](https://camo.githubusercontent.com/18a042d13f0892d113d86528ca0bb48056f50abe639278e140aa41d0e6555c32/68747470733a2f2f706f7365722e707567782e6f72672f626565742f626f782f646f776e6c6f616473)](https://packagist.org/packages/beet/box)[![License](https://camo.githubusercontent.com/f12ac91f86690cd7fb8f251ae5a38719852e23d67b5aaad687d231ea05e70dfa/68747470733a2f2f706f7365722e707567782e6f72672f626565742f626f782f6c6963656e7365)](https://packagist.org/packages/beet/box)[![Docker](https://camo.githubusercontent.com/4fe08e14f1bcfa6b02e62e99145b445492978b49e83494436568ca79c0da5b39/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f6275696c642f626565742f626f782e737667)](https://hub.docker.com/r/beet/box/builds/)

What's different about this project?
------------------------------------

[](#whats-different-about-this-project)

- It's a composer plugin which automatically creates a Vagrantfile.
- 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.

Requirements
------------

[](#requirements)

- [Composer](https://getcomposer.org/download/)
- [Vagrant](https://www.vagrantup.com/) &gt;= 1.8
- [Virtualbox](https://www.virtualbox.org/)
- [Vagrant Hostsupdater](https://github.com/cogitatio/vagrant-hostsupdater)

```
vagrant plugin install vagrant-hostsupdater

```

- [Vagrant Auto-network](https://github.com/oscar-stack/vagrant-auto_network)

```
vagrant plugin install vagrant-auto_network

```

Quickstart
----------

[](#quickstart)

```
composer require --dev beet/box
vagrant up

```

This will automatically generate a Vagrantfile and the `.beetbox` directory, which will contain a `config.yml` file used to configure overrides.

You can see some examples in [`config.yml`](https://github.com/beetboxvm/beetbox/blob/master/.beetbox/config.yml)

Updating
--------

[](#updating)

```
composer update beet/box

```

Version constraints should automatically keep you to the same minor release. `(0.0.x)`However, you may need to update your configuation when upgrading minor releases. `(0.x.0)`See the release notes for more information.

Drupal Quickstart
-----------------

[](#drupal-quickstart)

To get a simple Drupal 8 site up and running with Beetbox, run the following commands:

```
composer create-project drupal-composer/drupal-project:8.x-dev drupal8 --stability dev --no-interaction
cd drupal8
composer require --dev beet/box
vagrant up

```

After which you can install the site at

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 5.6 add `php_version: "5.6"` to `./.beetbox/config.yml`, then run `vagrant provision`.

Project roles.
--------------

[](#project-roles)

These roles are mantained by Beetbox team.

ProjectBuild status[Backdrop](https://github.com/beetboxvm/ansible-role-beetbox-backdrop)[![Circle CI](https://camo.githubusercontent.com/513cab1d29c00b217c773f35163217fe4af3639fe588e4fd100db29f5f529652/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d6261636b64726f702e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-backdrop)[Drupal](https://github.com/beetboxvm/ansible-role-beetbox-drupal)[![CircleCI](https://camo.githubusercontent.com/8b6579fbd1ad24add57a0dcc739c04871544e8b7aaf09eaca148e249c2956e6b/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d64727570616c2e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-drupal)[Kohana](https://github.com/beetboxvm/ansible-role-beetbox-kohana)[![CircleCI](https://camo.githubusercontent.com/2267b273125434cd0f860f2db37d492dcd7974606ad822a7d4daee9c5a0c7a6f/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d6b6f68616e612e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-kohana)[Modx](https://github.com/beetboxvm/ansible-role-beetbox-modx)[![CircleCI](https://camo.githubusercontent.com/14db7f44815c11ba4cd93dcec843adc1764c74d996d72e09d5bbb8a89bb44026/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d6d6f64782e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-modx)[Silverstripe](https://github.com/beetboxvm/ansible-role-beetbox-silverstripe)[![CircleCI](https://camo.githubusercontent.com/c79e18a9baf169c9b9658ff7b069b96a43b156eb7b92d6b7cde463ab5558e8dc/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d73696c7665727374726970652e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-silverstripe)[Slim](https://github.com/beetboxvm/ansible-role-beetbox-slim)[![CircleCI](https://camo.githubusercontent.com/c9515aa11f38a60df9a96013addee155a5d9e071250e58356e9400e87ea324f0/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d736c696d2e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-slim)[Symfony](https://github.com/beetboxvm/ansible-role-beetbox-symfony)[![Circle CI](https://camo.githubusercontent.com/677ff3d9a88a6e178c2002be35a4de2036676f6a1a8d00d70fad994895b1b5b5/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d73796d666f6e792e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-symfony)[Wordpress](https://github.com/beetboxvm/ansible-role-beetbox-wordpress)[![CircleCI](https://camo.githubusercontent.com/4e53225d7d3e7e581cf4967ba7462c2e11809135366146f0df44e762703f0f51/68747470733a2f2f636972636c6563692e636f6d2f67682f62656574626f78766d2f616e7369626c652d726f6c652d62656574626f782d776f726470726573732e7376673f7374796c653d736869656c64)](https://circleci.com/gh/beetboxvm/ansible-role-beetbox-wordpress)Documentation
-------------

[](#documentation)

Contributing
------------

[](#contributing)

Support
-------

[](#support)

- Feature requests should be created in the [GitHub Beetbox Issue Queue](https://github.com/beetboxvm/beetbox/issues).
- Bugs should be reported in the [GitHub Beetbox Issue Queue](https://github.com/beetboxvm/beetbox/issues).
- Use pull requests (PRs) to [contribute](http://beetbox.readthedocs.io/en/latest/contributing/contributing/) to Beetbox.

Credits
-------

[](#credits)

This project would not be possible without [geerlingguy's](https://github.com/geerlingguy) awesome Ansible roles from [Drupal VM](https://github.com/geerlingguy/drupal-vm). We encourage you to support him by buying his book [Ansible for DevOps](http://ansiblefordevops.com/).

[JetBrains](https://www.jetbrains.com/phpstorm/) generously offer an Open source licence.

Beetbox is primarily maintained by the Drupal Melbourne (Australia) community.

Please follow [@beetboxvm](https://twitter.com/beetboxvm) for announcements.

License
-------

[](#license)

This project is licensed under the [MIT](https://opensource.org/licenses/MIT) open source license.

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 81% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Recently: every ~7 days

Total

41

Last Release

2961d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4745?v=4)[Mark Beattie](/maintainers/beet)[@beet](https://github.com/beet)

---

Top Contributors

[![thom8](https://avatars.githubusercontent.com/u/331453?v=4)](https://github.com/thom8 "thom8 (460 commits)")[![Decipher](https://avatars.githubusercontent.com/u/161090?v=4)](https://github.com/Decipher "Decipher (83 commits)")[![AlexSkrypnyk](https://avatars.githubusercontent.com/u/378794?v=4)](https://github.com/AlexSkrypnyk "AlexSkrypnyk (17 commits)")[![christopher-hopper](https://avatars.githubusercontent.com/u/452515?v=4)](https://github.com/christopher-hopper "christopher-hopper (5 commits)")[![COLABORATI](https://avatars.githubusercontent.com/u/6514273?v=4)](https://github.com/COLABORATI "COLABORATI (1 commits)")[![edwardchan](https://avatars.githubusercontent.com/u/1103479?v=4)](https://github.com/edwardchan "edwardchan (1 commits)")[![theodorosploumis](https://avatars.githubusercontent.com/u/1315321?v=4)](https://github.com/theodorosploumis "theodorosploumis (1 commits)")

---

Tags

ansiblebackdropcakephpcmscomposercomposer-plugindevelopmentdockerdrupalenvironmentkohanalocalmodxpackersilverstripesymfonyvagrantvirtualboxvmwordpress

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/beet-box/health.svg)

```
[![Health](https://phpackages.com/badges/beet-box/health.svg)](https://phpackages.com/packages/beet-box)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74798.8M955](/packages/symfony-runtime)[johnpbloch/wordpress-core-installer

A custom installer to handle deploying WordPress with composer

21911.3M50](/packages/johnpbloch-wordpress-core-installer)[roots/wordpress-core-installer

A Composer custom installer to handle installing WordPress as a dependency

4216.6M48](/packages/roots-wordpress-core-installer)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M531](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.0M195](/packages/drupal-core-project-message)[aydin-hassan/magento-core-composer-installer

A composer plugin for managing Magento Core

94621.0k2](/packages/aydin-hassan-magento-core-composer-installer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
