Installed Software Stack

The Homestead environment built by Settler includes a comprehensive and pre-configured stack of software. Below is a detailed list of the key components installed by the amd64.sh and arm.sh provisioning scripts.

Operating System

  • Ubuntu: The base OS is Ubuntu LTS, typically configured via the Bento Packer templates.
  • System Tools: build-essential, git, git-lfs, curl, unzip, supervisor, chrony.

PHP

Multiple versions of PHP are installed via the ondrej/php PPA, allowing developers to switch versions easily on a per-site basis.

  • Installed Versions:
    • PHP 5.6
    • PHP 7.0
    • PHP 7.1
    • PHP 7.2
    • PHP 7.3
    • PHP 7.4
    • PHP 8.0
    • PHP 8.1
    • PHP 8.2
    • PHP 8.3 (Default CLI version)
  • Extensions: Each version includes a wide range of extensions, such as bcmath, bz2, curl, gd, gmp, intl, mbstring, mysql, pgsql, redis, sqlite3, xdebug, xml, zip, imagick, and memcached.
  • Configuration:
    • memory_limit: 512M
    • upload_max_filesize / post_max_size: 100M
    • date.timezone: UTC
    • error_reporting: E_ALL
    • display_errors: On
  • Composer: The latest version of Composer is installed globally.
  • Global Composer Packages:
    • laravel/installer
    • laravel/envoy
    • slince/composer-registry-manager

Web Servers

  • Nginx: Installed and configured as the default web server.
  • Apache 2: Installed but disabled by default.

Databases & Persistence

  • MySQL 8: The default database server.
    • Users: root and homestead.
    • Password: secret for both users.
    • Remote Access: Configured to allow connections from the host machine.
  • PostgreSQL 15:
    • User: homestead
    • Password: secret
    • Default Database: homestead
  • MariaDB: Can be installed as an alternative to MySQL by modifying the build flags.
  • SQLite 3: Installed with the necessary PHP drivers.

Caching

  • Redis: Installed and running as a service.
  • Memcached: Installed and running as a service.

Node.js Ecosystem

  • Node.js: Version 21.x is installed from NodeSource.
  • NPM: Installed and updated to the latest version.
  • Global NPM Packages:
    • yarn
    • bower
    • gulp-cli
    • grunt-cli

Development Tools & Services

  • Docker & Docker Compose: The latest versions are installed, and the vagrant user is added to the docker group.
  • Mailpit: A local SMTP server and mail-catching utility. It runs as a service and is accessible via a web interface.
  • ngrok: A utility to expose local servers to the internet.
  • Go: The latest stable version of the Go programming language.
  • WP-CLI: The command-line interface for WordPress.
  • Beanstalkd: A simple, fast work queue, running as a service.
  • Postfix: Configured to relay all outgoing mail to Mailpit on port 1025.