Skip to content

laravel/homestead

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e466c30 · Apr 29, 2024
Dec 26, 2020
Feb 12, 2024
Sep 22, 2021
Apr 29, 2024
Apr 27, 2024
Apr 29, 2024
Apr 27, 2024
Nov 7, 2021
Apr 27, 2024
May 16, 2014
Aug 22, 2023
Aug 28, 2017
Apr 27, 2024
May 17, 2015
Jan 12, 2024
Feb 12, 2024
Feb 12, 2024
Mar 14, 2017
Mar 14, 2017
Feb 12, 2024
Dec 26, 2020
Jan 19, 2024

Repository files navigation

Laravel Homestead Logo

Build Status Total Downloads Latest Stable Version License

Introduction

Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, or any other server software on your local machine. No more worrying about messing up your operating system! Vagrant boxes are completely disposable. If something goes wrong, you can destroy and re-create the box in minutes!

Homestead runs on any Windows, Mac, or Linux system, and includes the Nginx web server, PHP, MySQL, Postgres, Redis, Memcached, Node, and all of the other goodies you need to develop amazing Laravel applications.

Official documentation is located here.

Components

Homestead is made up of 2 different projects. The first is this repo which is the Homestead application itself. The application is a wrapper around Vagrant which is an API consumer of a virtualization hypervisor, or provider such as Virtualbox, Hyper-V, VMware, Or Parallels. The second part of Homestead is Settler, which is essentially JSON & Bash scripts to turn a minimalistic Ubuntu OS into what we call Homestead base box. Homestead and Settler (AKA Homestead Base / Base Box) combined give you the Homestead development environment.

When you run vagrant up for the first time Vagrant will download the large base box from Vagrant cloud. The base box is the output from Settler. The base box will be stored at ~/.vagrant.d/ and copied to the folder you ran vagrant up command from in a hidden folder named .vagrant. This is what allows vagrant to create a VM and destroy it quickly and without having to download the large base box again.

Current versions
Ubuntu LTS Settler Version Homestead Version Branch Status
22.04 14.x 15.x main Development/Unstable
22.04 14.x 15.x release Stable

Developing Homestead

To keep any in-development changes separate from other Homestead installations, create a new project and install Homestead from composer, forcing it to use a git checkout.

$ mkdir homestead && \
    cd homestead && \
    composer require --prefer-source laravel/homestead:dev-main

After it's complete, vendor/laravel/homestead will be a git checkout and can be used normally.