scotch-box
Scotch Box is a preconfigured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time.
Top Related Projects
Vagrant is a tool for building and distributing development environments.
Vagrant/Puppet GUI
WordPress LEMP stack with PHP 8.2, Composer, WP-CLI and more
A VM for Drupal development
An open source Vagrant configuration for developing with WordPress
Quick Overview
Scotch Box is a pre-configured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time. It's a popular development environment that aims to match the production server setup as closely as possible, making it easier for developers to work on their projects locally.
Pros
- Easy setup and configuration for a full LAMP stack environment
- Includes a wide range of pre-installed tools and technologies (PHP, MySQL, Node.js, Ruby, etc.)
- Regularly updated to include the latest versions of software
- Well-documented and supported by an active community
Cons
- May include more tools than necessary for some projects, potentially leading to bloat
- Customization can be challenging for users unfamiliar with Vagrant
- Some users report occasional performance issues, especially on older hardware
- Not as lightweight as some alternative development environments
Getting Started
- Install VirtualBox and Vagrant on your machine.
- Open a terminal and run:
git clone https://github.com/scotch-io/scotch-box.git my-project
cd my-project
vagrant up
-
Once the setup is complete, you can access your project at
http://192.168.33.10/
. -
To SSH into the Vagrant box, use:
vagrant ssh
- Your project files will be in the
/var/www
directory inside the Vagrant box, which is synced with the project folder on your host machine.
Competitor Comparisons
Pros of Homestead
- Specifically tailored for Laravel development, providing optimal configuration
- Regular updates and maintenance by the Laravel team
- Extensive documentation and community support
Cons of Homestead
- Larger resource footprint, potentially slower on older hardware
- Steeper learning curve for beginners unfamiliar with Vagrant
Code Comparison
Homestead (Vagrantfile):
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = HOMESTEAD_BOX_VERSION
config.vm.hostname = "homestead"
config.vm.provider "virtualbox" do |vb|
vb.name = settings["name"] ||= "homestead"
end
end
Scotch Box (Vagrantfile):
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
end
Both repositories provide Vagrant-based development environments, but Homestead is more focused on Laravel development, while Scotch Box offers a more general-purpose LAMP stack. Homestead benefits from official Laravel support and frequent updates, making it ideal for Laravel projects. Scotch Box, on the other hand, may be easier for beginners to set up and use, with a lighter resource footprint. The choice between the two depends on project requirements and developer preferences.
Vagrant is a tool for building and distributing development environments.
Pros of Vagrant
- More flexible and customizable, allowing users to create and configure any type of development environment
- Supports multiple providers (VirtualBox, VMware, AWS, etc.), not limited to a single virtualization platform
- Actively maintained with regular updates and a large community for support
Cons of Vagrant
- Steeper learning curve, requiring more configuration and setup compared to Scotch Box
- May require more system resources as it's not optimized for a specific development stack
Code Comparison
Scotch Box (Vagrantfile):
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
end
Vagrant (basic Vagrantfile):
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provision "shell", path: "bootstrap.sh"
end
The Scotch Box Vagrantfile is simpler and pre-configured, while the Vagrant example shows more customization options, including provisioning with a shell script.
Vagrant/Puppet GUI
Pros of PuPHPet
- Highly customizable: Allows users to configure their development environment with a wide range of options
- Web-based interface: Provides an easy-to-use GUI for creating custom Vagrant configurations
- Supports multiple operating systems: Offers configurations for various Linux distributions and Windows
Cons of PuPHPet
- Steeper learning curve: Requires more knowledge to set up and configure compared to Scotch Box
- Less frequently updated: May not include the latest software versions as quickly as Scotch Box
- Potentially slower setup: The customization process can take longer than using a pre-configured box
Code Comparison
PuPHPet (config.yaml):
vagrantfile:
vm:
provider:
virtualbox:
modifyvm:
natdnshostresolver1: on
memory: 2048
cpus: 2
Scotch Box (Vagrantfile):
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
end
Both repositories provide Vagrant configurations, but PuPHPet uses a YAML file for more detailed customization, while Scotch Box offers a simpler Ruby-based Vagrantfile with pre-configured settings.
WordPress LEMP stack with PHP 8.2, Composer, WP-CLI and more
Pros of Trellis
- More focused on WordPress development with built-in optimizations
- Ansible-based provisioning for better scalability and maintainability
- Supports multiple environments (development, staging, production)
Cons of Trellis
- Steeper learning curve, especially for those unfamiliar with Ansible
- Requires more configuration and setup compared to Scotch Box
- Less suitable for general-purpose PHP development
Code Comparison
Trellis (Ansible playbook example):
- name: Install WordPress
command: wp core install
args:
chdir: "{{ www_root }}/{{ item.key }}/current/"
with_dict: "{{ wordpress_sites }}"
Scotch Box (Vagrantfile example):
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
end
Trellis focuses on WordPress-specific provisioning using Ansible, while Scotch Box provides a more general-purpose LAMP stack environment using Vagrant. Trellis offers better scalability and environment management, but requires more setup and knowledge. Scotch Box is simpler to use but less optimized for WordPress development.
A VM for Drupal development
Pros of drupal-vm
- More focused on Drupal development, with specific tools and configurations
- Highly customizable with extensive configuration options
- Actively maintained with frequent updates and community support
Cons of drupal-vm
- Steeper learning curve due to more complex configuration
- Requires more system resources due to additional features
- May be overkill for simple Drupal projects or beginners
Code Comparison
drupal-vm:
drupal_core_path: "/var/www/drupal"
drupal_domain: "drupalvm.test"
drupal_site_name: "Drupal"
drupal_install_profile: standard
drupal_enable_modules: [ ]
scotch-box:
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]
The code snippets show that drupal-vm is more focused on Drupal-specific configurations, while scotch-box provides a more general-purpose development environment. drupal-vm allows for detailed Drupal setup, whereas scotch-box offers simpler networking and file sharing options.
An open source Vagrant configuration for developing with WordPress
Pros of VVV
- More comprehensive and feature-rich development environment
- Better suited for WordPress development with built-in tools and configurations
- Active community support and regular updates
Cons of VVV
- Steeper learning curve due to its complexity
- Requires more system resources compared to Scotch Box
- Initial setup and provisioning can be slower
Code Comparison
VVV configuration example:
sites:
wordpress-one:
repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git
hosts:
- one.wordpress.test
Scotch Box configuration example:
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
end
VVV offers more granular control over site configurations, while Scotch Box provides a simpler setup process. VVV's YAML-based configuration allows for multiple sites and custom host settings, whereas Scotch Box uses a more straightforward Ruby-based Vagrantfile.
Both projects aim to simplify local development environments, but VVV is more tailored for WordPress development, while Scotch Box offers a more general-purpose solution. VVV's complexity may be beneficial for larger projects or teams requiring more customization, while Scotch Box's simplicity makes it ideal for quick setups and smaller projects.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Scotch Box
GET SCOTCH BOX PRO
TUTORIAL
Just a Dead-Simple Local LAMP/LEMP Stack for Vagrant. Making Vagrant EASY AS EATING CAKE for developers.
Scotch Box is a pre-configured Vagrant Box with a full array of features to get you up and running with Vagrant in no time.
Scotch Box 3.5!
3.5 is finally here!
- Ubuntu 16.04!
- PHP 7!
- MySQL 5.7!
- NGNIX Option!
- Go lang in the box
- PHPUnit in the box
- Yarn
- Improved email catching with MailHog
- Vagrant Share working nicely finally
- The box's build scripts
- Customize your own boxes in minutes
- Generally higher versions of things (Node.js, Ruby, etc.)!
License Required?!!!!?!
Still MIT License for the free version. The free version is still a beast.
Pro will help support the project, let you customize some things a bit more, and will help this project survive. If you're super pissed about this, in school, working for good causes, or hurting for cash, then email me at nick@scotch.io so I can get you setup with Pro no charge.
"Scotch Box Pro" is a paid version of the original Scotch Box. Go Pro Now!
Pro Features
- NEW OS: Ubuntu-17.10!
- NEW PHP: PHP 7.2!
- NEW APACHE: 2.4.29
- NEW NGINX: 1.13.8
- NEW RUBY via RVM: 2.5.0
- NEW NODE via NVM: 8.9.4
- NEW BUILD SCRIPTS
- Fixes a MongoDB and PHP bug
- Makes Laravel routing finally work out of the box with NGINX version
- Adds Drush (Launcher) even though you should do this through Composer these days
- Updated WP-CLI version
- Generally WAY higher versions of everything else
Documentation
- Check out the official docs at: box.scotch.io
- Read the getting started article
- Read the 2.0 release article
- Read the 2.5 release article
- Read the 3.0 release article
- Read the 3.5 release article
WPDistillery
WPDistillery is an amazing tool by Flurin Dürst that kickstarts your WordPress installation on Scotch Box. It is actively maintained, has lots of features and gets you started in less than 5 minutes.
All you have to do is clone the repo, customize the configuration file to your needs, and vagrant up. WPDistillery will do the rest:
To get started, visit wpdistillery.org or check out the Documentation.
More Information
Check-out box.scotch.io to learn more.
Special Thank You
Thanks to anyone who has supported this project.
I was dark on this project for a little bit too long, as I got caught up with work and a million other things. I apologize for slowness to release updates. I'm hoping the Pro version can create a bit more motivation to dedicate time to this. I also finally have the build scripts available for download with the Pro version so you all can start addressing bugs yourselves with your own personalized boxes.
Thanks to the community for bug fixes and provisioning tips. Special shout-out to @maxpou for completely killing it with community responses.
Top Related Projects
Vagrant is a tool for building and distributing development environments.
Vagrant/Puppet GUI
WordPress LEMP stack with PHP 8.2, Composer, WP-CLI and more
A VM for Drupal development
An open source Vagrant configuration for developing with WordPress
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot