Skip to content

🛠️ Vagrant Development Environment Dependencies

This document outlines all dependencies and plugins required for our Vagrant-based development environment.

Overview

A complete guide to setting up Vagrant with all required plugins and dependencies for a standardized development environment that ensures consistency across teams.

📋 Core Dependencies

Required Software

Dependency Version Description License
VirtualBox 6.1.40+ Virtualization platform GPL v2
Vagrant 2.3.4+ VM management framework MIT
Git 2.30.0+ Source control & provisioning GPL v2

System Requirements

  • Minimum: 8GB RAM, 2 CPU cores, 40GB free disk space
  • Recommended: 16GB RAM, 4 CPU cores, 100GB free SSD space
  • CPU: Hardware virtualization support (Intel VT-x/AMD-V)

🧩 Required Plugins

Install these plugins before proceeding with vagrant up:

Bash
vagrant plugin install vagrant-hostmanager vagrant-vbguest vagrant-disksize

Plugin Details

Plugin Purpose Compliance Documentation
vagrant-hostmanager Manages host files across host/guest systems SOC 2 Friendly Wiki
vagrant-vbguest Manages VirtualBox Guest Additions MIT License Usage Guide
vagrant-disksize Allows dynamic disk resizing MIT License README

Plugin Compatibility

Always match plugin versions with your Vagrant version. Run vagrant plugin update when upgrading Vagrant.

🚀 Performance Enhancement Plugins

These optional plugins improve development workflow and performance:

Bash
vagrant plugin install vagrant-cachier vagrant-faster vagrant-bindfs

Optimization Plugins

Plugin Benefit Usage Scenario Documentation
vagrant-cachier Caches apt/yum packages between VMs Multiple similar VMs Usage
vagrant-faster Reduces boot time Frequent restarts Setup
vagrant-bindfs Better file sync performance NFS alternative Configuration

💻 OS-Specific Setup

Windows

PowerShell
# Install Chocolatey package manager
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

# Install dependencies
choco install virtualbox vagrant git -y

Windows Performance

  • Disable Windows Defender scanning for VM directories
  • Add VM paths to Windows Defender exclusions
  • Disable Hyper-V if enabled (conflicts with VirtualBox)

macOS

Bash
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install dependencies
brew install --cask virtualbox vagrant
brew install git

macOS File Sharing

  • NFS mounts require additional configuration on macOS
  • Consider using vagrant-bindfs for improved performance

Linux

Bash
# Ubuntu/Debian
sudo apt update
sudo apt install -y virtualbox vagrant git

# For improved NFS performance
sudo apt install -y nfs-kernel-server nfs-common

⚙️ Configuration Validation

Verify your installation with:

Bash
vagrant --version
VBoxManage --version
vagrant plugin list
vagrant validate  # Checks Vagrantfile syntax

🔒 Compliance & Security

Enterprise Considerations

  • Network Security: VMs use NAT by default but can expose ports
  • Data Protection: Sensitive data in synced folders may need encryption
  • License Compliance: All tools use open-source licenses but review for your organization
  • Resource Control: Set resource limits to prevent overprovisioning

Security Best Practices

  • Use private networks for inter-VM communication
  • Limit exposed ports to localhost with host_ip: "127.0.0.1"
  • Use encrypted or temporary storage for sensitive data
  • Keep Vagrant and VirtualBox updated for security patches

⚠️ Troubleshooting

Issue Solution Reference
VirtualBox won't start Ensure virtualization enabled in BIOS VBox Docs
Guest Additions mismatch vagrant plugin install vagrant-vbguest --plugin-version 0.30.0 GitHub Issue
File sync errors Use alternative sync method:type: "rsync" Sync Docs
Network connectivity Check firewall settings and host-only network adapters Network Docs

📚 Resources & References

Official Documentation

Community Resources

Learning Resources