lemberg/draft-environment

Development environment for Draft Drupal.

Installs: 131 138

Dependents: 1

Suggesters: 0

Security: 0

Stars: 3

Watchers: 5

Forks: 4

Open Issues: 11

Type:composer-plugin

3.6.4 2022-09-23 19:07 UTC

README

Latest Stable Version Build Status codecov

This is Vagrant-based development environment for Drupal projects. This project is a part of a Draft Drupal project template.

Prerequisites

  • PHP (7.4+) and Composer 2
  • Vagrant (2.2.6+)
  • VirtualBox (5.2+)
  • mkcert (optional)

Vagrant plugins (will be automatically installed)

Vagrant Host Manager

Manages host and/or guest hosts files. Draft is configured to create a hostname.test DNS record on a host machine.

vagrant-disksize

A Vagrant plugin to resize disks in VirtualBox.

Vagrant WinNFSd (WINDOWS only)

Dramatically increases disk IO on Windows by adding NFS support.

How to

  1. (Optional) Locally-trusted SSL certificates

    Skip this step if mkcert is already installed and the local CA does already exist.

    Install mkcert in order to get locally-trusted development SSL certificates. This tool requires no configuration. After installation just run:

    $ mkcert -install
    
  2. Add Draft Environment to the project (as a dev dependency):

    $ composer require --dev lemberg/draft-environment
    
  3. Configure guest machine by answering installer's questions. At the moment, project name (hostname) and PHP version are the only settings that can be set interactively

  4. Override any variable used in any Ansible role by manually editing the vm-settings.yml. All available variables alongside with their default values are listed in default.vm-settings.yml

    Here's the list of used roles:

  5. Create and provision the guest machine:

    $ vagrant up
    
  6. Commit .gitignore, Vagrantfile and vm-settings.yml to lock the VM state

  7. Configuration can be overridden locally by creating and editing vm-settings.local.yml (and this file must not be committed)

Documentation

Everybody loves documentation. We do too! Check this out.

Changelog

Changelog can be found here CHANGELOG.md