Courses & TutorialsProgramming
Awesome Vagrant – Massive Collection of Resources
Official resources
- Vagrant site – installation instruction, official manuals and docs.
- GitHub repo – source code, issues discussion and collaboration.
Boxes
Where to find OS boxes ?
- Vagrantbox.es – the biggest list of all available boxes, maintained by community via GitHub pull requests.
- Vagrant Cloud – config share, boxes distribution and discovery (also premium features of private collaboration and sharing).
- Cloud Images Ubuntu.com – “clean” official Ubuntu cloud images.
- Baseboxes from Opscode – CentOS, Fedora, Debian, FreeBSD, Ubuntu.
- Puppet Labs Vagrant Boxes – these boxes are provided to be used by various Puppet projects.
- Cloudsmith – A fully managed package management SaaS with support for Vagrant repositories (and many others).
Provisioning
- All available build in provisioning providers – official doc.
- Vaprobash – Vagrant Provisioning Bash Scripts.
Notable plugins
You can install these modules by this command vagrant plugin install MODULE-NAME
- List of available Vagrant plugins from GitHub wiki.
- vagrant-vbguest – autoupdate VirtualBox guest additions (according to VB version).
- vagrant-hostsupdater – adds an entry to your /etc/hosts file on the host system.
- vagrant-cachier – share a common package (apt-get, npm, etc.) cache among similar VM instances.
- vagrant-host-shell – a vagrant provisioner to run commands on the host when a VM boots.
- vagrant-ansible-local allow provisioning your VM with ansible playbooks directly from the guest VM.
- sahara – easy manage VM state (commit/rollback while experimenting with software stack).
- vagrant-registration – add “register” and “unregister” capabilities to Vagrant guests for updates on systems with a subscription model(like Red Hat Enterprise Linux).
- vagrant-service-manager – enable easier access to the features and services provided by the Atomic Developer Bundle (ADB).
- vagrant-scp – Copy files to a Vagrant VM via SCP.
Helpers / Tools
- Packer – a tool for creating identical machine images for multiple platforms from a single source configuration. For fast infrastructure deployment with multi-provider portability.
- T.A.D.S. boilerplate – boilerplate to create, develop and deploy a Docker Swarm environment, using Vagrant to reproduce production environment locally.
- Veewee – a tool for easily (and repeatedly) building custom Vagrant base boxes, KVMs, and virtual machine images.
- Vagrant plugin for ZSH shell – auto-complete for commands, task names, box names and built-in documentation.
- CLI Vagrant Manager – simple command-line tool to manage multiple vagrant boxes
Desktop tools
- Vagrant Manager for OS X.
Web services
To generate Vagrantfile with automated provisioning scripts.
- Phansible – provides an easy to use interface that helps you generate Ansible Playbooks for PHP based projects.
- PuPHPet – a simple GUI to set up virtual machines for
PHPWeb development. - Protobox – PuPHPet analog, but uses own installer with YAML configuration format to control everything that is installed on the virtual machine.
- Rove – a service that allows you to pregenerate typical Vagrant builds.
Proxy services
To proxy your local web server and make it publicly available over the internet.
- Vagrant share – allows you to share your Vagrant environment with anyone in the world.
- nip.io – a magic domain name that provides wildcard DNS
for any IP address. - ngrok – tool to create secure tunnels to expose a local server behind a NAT or firewall to the internet.
- serveo – expose local servers to the internet, without installing any client!
- proxylocal.com – proxy your local web-server and make it publicly available over the internet.
- localtunnel.me – assign you a unique publicly accessible url that will proxy all requests to your locally running webserver.
- portmap.io – OpenVPN based free port forwarding solution.
Tutorials
- Getting Started With Vagrant by This Programming Thing.
- Getting started with Vagrant – automated dev servers deploy and provisioning.
- Working with Advanced Vagrant features in PhpStorm.
- Sharing Your Virtual Machine on the Web with Vagrant Share.
- Programming Community Curated Resources for Learning Vagrant
- Vagrant Online Courses at Classpert List of Vagrant Online Courses (free and paid)
Books
- Vagrant: Up and Running by Mitchell Hashimoto.
- Vagrant CookBook by Erika Heidi.
- Pro Vagrant by by Wlodzimierz Gajda.
- Creating Development Environments with Vagrant / 2nd Edition by Michael Peacock
- Vagrant Virtual Development Environment Cookbook by Chad Thompson
Popular readymade environments
- Vagrantpress – development environment for creating and modifying WordPress sites.
- Varying Vagrant Vagrants – An open source Vagrant configuration focused on WordPress development.
- Joomla-Vagrant.
- VDD – Vagrant Drupal Development.
- Drupal VM – A VM for local Drupal development, built with Vagrant + Ansible
- Try Yii2 – try Yii2 with Vagrant VM + Ansible provisioning = Complete readymade virtual server playground.
- Laravel4-Vagrant – run Laravel 4 inside a Ubuntu 12.04 Vagrant Virtual Machine w/PHP 5.5.
- OpenStack on Ansible with Vagrant.
- Laravel Homestead – Official Vagrant Box for Laravel development, based on Ubuntu 16.04 LTS, PHP 7, Nginx, and multiple database platforms.
- Scotch Box – Simple Vagrant Box with LAMP stack, plus some useful extras, based on Ubuntu 14.04 LTS.