Protobox is a layer on top of vagrant and a web GUI to setup virtual machines for web development. A single YAML document controls everything that is installed on the virtual machine. You can install popular languages, software, and even popular web applications or your own private GIT repositories with a simple on/off toggle in YAML. You can read more about why this was developed in our about document or on our website at getprotobox.com.
Open terminal and run the following:
gem install protobox && protobox init
vagrant up and follow the protobox instructions on screen.
Protobox can also be installed other ways, click here to check out alternative installation options.
The protobox configuration file is found at
data/config/common.yml. You can easily install new services by setting
install: 1 under any of the software in the configuration file. Alternatively you can drag and drop your yml file to make changes with our web gui at getprotobox.com.
Protobox has built in support for the following functionality:
- Vast Module Selection: Protobox comes bundled with 15+ of the most common modules that PHP developer use everyday.
- Application Installing: Set the path to a git repo (public or private) or a composer project and upon vagrant up it will be installed for you.
- User Preferences: Upon boot up your dot files in data/dot will be copied to the virtual machine.
- SSH Keys: Place your ssh keys in the data/ssh and reference them from the configuration file to be copied to the virtual machine to easily access any remote servers or github.
- SQL Import: You can add any sql files in data/sql and reference them in the configuration file to be imported upon the bootup of the virtual machine.
- Mailcatching: The mailcatcher package can catch any mail leaving the system for debugging and testing.
- Ansible: Protobox is built using ansible. It's simplicity, yaml format, and agent operation make for a very powerful combination. Why Ansible?.
Check out our roadmap for upcoming features and how to help.
Use GitHub Issues to file a bug report or new feature request. Please open a issue prior to opening a pull request to make sure it is something we can merge. The roadmap can be determined by looking at issues tagged as
Use GitHub Issues or #protobox on irc.freenode.net.
Protobox was developed by Patrick Heeney and inspired by the puphpet project. A special thanks goes out to our contributors for helping grow this project. Protobox is also made possible by the best orchestration engine in existence: ansible.
Protobox is licensed under the MIT license.