This repository contains a set of Vagrant boxes for common development languages (PHP, Ruby, Node.js) and databases (MySQL, MongoDB).
Every directory, except the common ansible, contains a template box. To make you own box:
- copy the directory with the box you need,
- copy the role you need from the shared
ansible/rolesto[yourbox]/ansible/roles, - customize the box and playbook settings,
- run
vagrant upand start coding.
A sample project directory can be structured like:
/home/[username]/Projects/my-project
|-build
|-config
|-db
|---dev
|---prod
|-ansible
|---roles
|-----[roles dirs]
|---playbook.yml
|-shell
|---bootstrap.sh
|-src
|---[your app code]
|-tests
|-webroot
|-Vagrantfile
- Ansible 2.x and related dependencies
- Vagrant 2.2.x and related dependencies
- VirtualBox
Download VirtualBox guest additions from: http://download.virtualbox.org/virtualbox/x.x.x/VBoxGuestAdditions_x.x.x.iso
Disable Guest additions in your box with:
config.vbguest.auto_update = false
config.vbguest.no_install = true
config.vbguest.no_remote = truevagrant-hostmanager: manages the/etc/hostsfile on guest machines (and optionally the host)vagrant-dns: allows you to configure a dns-server managing a development subdomainvagrant-cachier: caches package managers filesvagrant-remove-old-box-versionsvagrant-share(providesvirtualboxfilesystem for synced folders)vagrant-vbguest(automatically installs/updates Guest Additions on boot)