77 lines
3.1 KiB

🟢 We plan to support and maintain vagrant-lxc, as well as clean it up.<br/>
🟢 Please feel free to contribute Issues and pull requests.<br/>
🟢 P.S: Thanks [Fabio Rehm]( for the amazing initial project.
# vagrant-cachier
[![Gem Version](]( [![Gitter chat](](
A [Vagrant]( plugin that helps you reduce the amount of
coffee you drink while waiting for boxes to be provisioned by sharing a common
package cache among similar VM instances. Kinda like [vagrant-apt_cache](
or [this magical snippet]( but targeting
multiple package managers and Linux distros.
## Installation
Make sure you have Vagrant 1.4+ and run:
vagrant plugin install vagrant-cachier
## Quick start
Vagrant.configure("2") do |config| = 'your-box'
if Vagrant.has_plugin?("vagrant-cachier")
# Configure cached packages to be shared between instances of the same base box.
# More info on
config.cache.scope = :box
# OPTIONAL: If you are using VirtualBox, you might want to use that to enable
# NFS for shared folders. This is also very useful for vagrant-libvirt if you
# want bi-directional sync
config.cache.synced_folder_opts = {
type: :nfs,
# The nolock option can be useful for an NFSv3 client that wants to avoid the
# NLM sideband protocol. Without this option, apt-get might hang if it tries
# to lock files needed for /var/cache/* operations. All of this can be avoided
# by using NFSv4 everywhere. Please note that the tcp option is not the default.
mount_options: ['rw', 'vers=3', 'tcp', 'nolock']
# For more information please check
For more information please read the documentation available at
## Providers that are known to work
* Vagrant's built in VirtualBox and Docker providers
* [vagrant-lxc](
* [VMware providers]( with NFS enabled (See
[GH-24]( for more info)
* [vagrant-parallels](
* [vagrant-libvirt](
* [vagrant-kvm](
* _[Let us know if it is compatible with other providers!](
_Please note that as of v0.6.0 the plugin will automatically disable any
previously defined configs for [cloud providers](lib/vagrant-cachier/plugin.rb#L19-22)_
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request