Permalink
Cannot retrieve contributors at this time
--- | |
# Available `vagrant_box` values include: | |
# - geerlingguy/drupal-vm (pre-provisioned, based on Ubuntu 18.04) | |
# - geerlingguy/centos8 | |
# - geerlingguy/debian10 | |
# - geerlingguy/ubuntu1804 | |
vagrant_box: geerlingguy/drupal-vm | |
vagrant_user: vagrant | |
vagrant_synced_folder_default_type: nfs | |
vagrant_gui: false | |
# If you need to run multiple instances of Drupal VM, set a unique hostname, | |
# machine name, and IP address for each instance. | |
vagrant_hostname: drupalvm.test | |
vagrant_machine_name: drupalvm | |
vagrant_ip: 192.168.88.88 | |
# Allow Drupal VM to be accessed via a public network interface on your host. | |
# Vagrant boxes are insecure by default, so be careful. You've been warned! | |
# See: https://docs.vagrantup.com/v2/networking/public_network.html | |
vagrant_public_ip: "" | |
# A list of synced folders, with the keys 'local_path', 'destination', and | |
# a 'type' of [nfs|rsync|smb] (leave empty for slow native shares). See | |
# http://docs.drupalvm.com/en/latest/getting-started/syncing-folders/ for more. | |
vagrant_synced_folders: | |
# The first synced folder will be used for the default Drupal installation, if | |
# any of the build_* settings are 'true'. By default the folder is set to | |
# the drupal-vm folder. | |
- local_path: . | |
destination: /var/www/drupalvm | |
type: nfs | |
create: true | |
# Memory and CPU to use for this VM. | |
vagrant_memory: 2048 | |
vagrant_cpus: 1 | |
# Ensure vagrant plugins are installed. | |
vagrant_plugins: | |
- name: vagrant-vbguest | |
- name: vagrant-hostsupdater | |
ansible_python_interpreter: python3 | |
# Minimum required versions. | |
drupalvm_vagrant_version_min: '2.2.0' | |
drupalvm_ansible_version_min: '2.8' | |
# Force use of ansible_local provisioner, even if Ansible is installed on host. | |
force_ansible_local: false | |
# The web server software to use. Can be either 'apache' or 'nginx'. | |
drupalvm_webserver: apache | |
# The database system to use. Can be either 'mysql' or 'pgsql'. | |
drupal_db_backend: mysql | |
# Set this to 'false' if you are using a different site deployment strategy and | |
# would like to configure 'vagrant_synced_folders' and 'apache_vhosts' manually. | |
drupal_build_makefile: false | |
drush_makefile_path: "{{ config_dir }}/drupal.make.yml" | |
drush_make_options: "--no-gitinfofile" | |
# Set 'drupal_build_makefile' to 'false' and this to 'true' if you are using a | |
# composer based site deployment strategy. | |
drupal_build_composer: false | |
drupal_composer_path: "{{ config_dir }}/drupal.composer.json" | |
drupal_composer_install_dir: "/var/www/drupalvm/drupal" | |
drupal_composer_dependencies: | |
- "drush/drush:^10" | |
- "drupal/devel:^4.0" | |
# Set this to 'true' and 'drupal_build_makefile', 'drupal_build_composer' to 'false' | |
# if you are using Composer's create-project as a site deployment strategy. | |
drupal_build_composer_project: true | |
drupal_composer_project_package: "drupal/recommended-project:^9@dev" | |
drupal_composer_project_options: "--prefer-dist --stability dev --no-interaction" | |
# Set this to 'false' if you don't need to install drupal (using the drupal_* | |
# settings below), but instead copy down a database (e.g. using drush sql-sync). | |
drupal_install_site: true | |
# Required Drupal settings. | |
drupal_core_path: "{{ drupal_composer_install_dir }}/web" | |
drupal_core_owner: "{{ drupalvm_user }}" | |
drupal_db_user: drupal | |
drupal_db_password: drupal | |
drupal_db_name: drupal | |
drupal_db_host: localhost | |
# Settings for installing a Drupal site if 'drupal_install_site:' is 'true'. | |
drupal_major_version: 9 | |
drupal_domain: "{{ vagrant_hostname }}" | |
drupal_site_name: "Drupal" | |
drupal_install_profile: standard | |
drupal_enable_modules: ['devel'] | |
drupal_account_name: admin | |
drupal_account_pass: admin | |
# Additional arguments or options to pass to `drush site-install`. | |
drupal_site_install_extra_args: [] | |
# Cron jobs are added to the vagrant user's crontab. Keys include name | |
# (required), minute, hour, day, weekday, month, job (required), and state. | |
drupalvm_cron_jobs: [] | |
# Drupal VM automatically creates a drush alias file in your ~/.drush folder if | |
# this variable is 'true'. | |
configure_drush_aliases: true | |
drush_aliases_host_template: "templates/drupalvm.aliases.drushrc.php.j2" | |
drush_aliases_host_template_yml: "templates/drupalvm.aliases.yml.j2" | |
drush_aliases_guest_template: "templates/drupalvm-local.aliases.drushrc.php.j2" | |
drush_aliases_guest_template_yml: "templates/drupalvm-local.aliases.yml.j2" | |
# Helper variable to configure the PHP-FPM connection for each Apache | |
# VirtualHost in the `apache_vhosts` list. | |
apache_vhost_php_fpm_parameters: | | |
<FilesMatch \.php$> | |
SetHandler "proxy:fcgi://{{ php_fpm_listen }}" | |
</FilesMatch> | |
# Apache VirtualHosts. Add one for each site you are running inside the VM. For | |
# multisite deployments, you can point multiple servernames at one documentroot. | |
# View the geerlingguy.apache Ansible Role README for more options. | |
apache_vhosts: | |
- servername: "{{ drupal_domain }}" | |
serveralias: "www.{{ drupal_domain }}" | |
documentroot: "{{ drupal_core_path }}" | |
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}" | |
- servername: "adminer.{{ vagrant_hostname }}" | |
documentroot: "{{ adminer_install_dir }}" | |
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}" | |
- servername: "xhprof.{{ vagrant_hostname }}" | |
documentroot: "{{ php_xhprof_html_dir }}" | |
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}" | |
- servername: "pimpmylog.{{ vagrant_hostname }}" | |
documentroot: "{{ pimpmylog_install_dir }}" | |
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}" | |
- servername: "{{ vagrant_ip }}" | |
serveralias: "dashboard.{{ vagrant_hostname }}" | |
documentroot: "{{ dashboard_install_dir }}" | |
extra_parameters: "{{ apache_vhost_php_fpm_parameters }}" | |
apache_packages_state: latest | |
apache_remove_default_vhost: true | |
apache_mods_enabled: | |
- expires.load | |
- headers.load | |
- ssl.load | |
- rewrite.load | |
- proxy.load | |
- proxy_fcgi.load | |
# Nginx hosts. Each site will get a server entry using the configuration defined | |
# here. Set the 'is_php' property for document roots that contain PHP apps like | |
# Drupal. | |
nginx_hosts: | |
- server_name: "{{ drupal_domain }} www.{{ drupal_domain }}" | |
root: "{{ drupal_core_path }}" | |
is_php: true | |
- server_name: "adminer.{{ vagrant_hostname }}" | |
root: "{{ adminer_install_dir }}" | |
is_php: true | |
- server_name: "xhprof.{{ vagrant_hostname }}" | |
root: "{{ php_xhprof_html_dir }}" | |
is_php: true | |
- server_name: "pimpmylog.{{ vagrant_hostname }}" | |
root: "{{ pimpmylog_install_dir }}" | |
is_php: true | |
- server_name: "{{ vagrant_ip }} dashboard.{{ vagrant_hostname }}" | |
root: "{{ dashboard_install_dir }}" | |
is_php: true | |
nginx_remove_default_vhost: true | |
nginx_ppa_use: true | |
nginx_vhost_template: "templates/nginx-vhost.conf.j2" | |
# MySQL databases and users. | |
mysql_databases: | |
- name: "{{ drupal_db_name }}" | |
encoding: utf8mb4 | |
collation: utf8mb4_general_ci | |
mysql_users: | |
- name: "{{ drupal_db_user }}" | |
host: "%" | |
password: "{{ drupal_db_password }}" | |
priv: "{{ drupal_db_name }}.*:ALL" | |
# PostgreSQL databases and users. | |
postgresql_users: | |
- name: "{{ drupal_db_user }}" | |
password: "{{ drupal_db_password }}" | |
postgresql_databases: | |
- name: "{{ drupal_db_name }}" | |
owner: "{{ drupal_db_user }}" | |
# Comment out any extra utilities you don't want to install. If you don't want | |
# to install *any* extras, set this value to an empty set, e.g. `[]`. | |
installed_extras: | |
- adminer | |
# - blackfire | |
# - drupalconsole | |
- drush | |
# - elasticsearch | |
# - java | |
- mailhog | |
# - memcached | |
# - newrelic | |
# - nodejs | |
- pimpmylog | |
# - redis | |
# - ruby | |
# - selenium | |
# - solr | |
# - tideways | |
# - upload-progress | |
- varnish | |
# - xdebug | |
# - xhprof # use `tideways` if you're installing PHP 7+ | |
# Add any extra apt or yum packages you would like installed. | |
extra_packages: | |
- sqlite | |
# You can configure almost anything else on the server in the rest of this file. | |
extra_security_enabled: false | |
firewall_enabled: true | |
firewall_allowed_tcp_ports: | |
- "22" | |
- "25" | |
- "80" | |
- "81" | |
- "443" | |
- "4444" | |
- "8025" | |
- "8080" | |
- "8443" | |
- "8983" | |
- "9200" | |
firewall_log_dropped_packets: false | |
firewall_disable_firewalld: true | |
firewall_disable_ufw: true | |
# PHP Configuration. Currently-supported versions: 7.2, 7.3, 7.4. | |
# See version-specific notes: http://docs.drupalvm.com/en/latest/configurations/php/ | |
php_version: "7.4" | |
php_install_recommends: no | |
php_memory_limit: "192M" | |
php_display_errors: "On" | |
php_display_startup_errors: "On" | |
php_realpath_cache_size: "1024K" | |
php_sendmail_path: "/opt/mailhog/mhsendmail" | |
php_opcache_enable: "1" | |
php_opcache_memory_consumption: "192" | |
php_opcache_max_accelerated_files: 4096 | |
php_max_input_vars: "4000" | |
# Drupal VM defaults to using PHP-FPM with either Apache or Nginx. If you wish | |
# to instead use Apache + mod_php with an Ubuntu base box, make sure you add | |
# libapache2-mod-php7.0 to `extra_packages` elsewhere in this config file. | |
php_enable_php_fpm: true | |
php_fpm_listen: "127.0.0.1:9000" | |
composer_path: /usr/bin/composer | |
composer_home_path: "/home/{{ drupalvm_user }}/.composer" | |
composer_home_owner: "{{ drupalvm_user }}" | |
composer_home_group: "{{ drupalvm_user }}" | |
composer_global_packages: [] | |
# Run specified scripts before or after VM is provisioned. Use {{ playbook_dir }} | |
# to reference the provisioning/ folder in Drupal VM or {{ config_dir }} to | |
# reference the directory where your `config.yml` is. | |
pre_provision_scripts: [] | |
post_provision_scripts: [] | |
# - "{{ playbook_dir }}/../examples/scripts/configure-solr.sh" | |
# MySQL Configuration. | |
mysql_root_password: root | |
mysql_slow_query_log_enabled: true | |
mysql_slow_query_time: 2 | |
mysql_wait_timeout: 300 | |
adminer_install_filename: index.php | |
# Node.js configuration (if enabled above). | |
# Valid examples: "6.x", "8.x", "10.x", etc. | |
nodejs_version: "10.x" | |
nodejs_npm_global_packages: | |
- name: npm | |
nodejs_install_npm_user: "{{ drupalvm_user }}" | |
npm_config_prefix: "/home/{{ drupalvm_user }}/.npm-global" | |
# Ruby Configuration (if enabled above). | |
ruby_install_gems_user: "{{ drupalvm_user }}" | |
ruby_install_gems: [] | |
# Varnish Configuration (if enabled above). | |
varnish_listen_port: "81" | |
varnish_default_vcl_template_path: templates/drupalvm.vcl.j2 | |
varnish_default_backend_host: "127.0.0.1" | |
varnish_default_backend_port: "80" | |
# Pimp my Log settings. | |
pimpmylog_install_dir: /usr/share/php/pimpmylog | |
pimpmylog_grant_all_privs: true | |
# XDebug configuration. XDebug is disabled by default for better performance. | |
php_xdebug_version: 2.9.5 | |
php_xdebug_default_enable: 0 | |
php_xdebug_coverage_enable: 0 | |
php_xdebug_cli_disable: yes | |
php_xdebug_remote_enable: 1 | |
php_xdebug_remote_connect_back: 1 | |
php_xdebug_idekey: PHPSTORM | |
php_xdebug_max_nesting_level: 256 | |
php_xdebug_remote_host: "{{ ansible_default_ipv4.gateway }}" | |
# Java configuration. | |
java_packages: | |
- "{{ 'openjdk-8-jdk' if ansible_os_family == 'Debian' else 'java-1.8.0-openjdk' }}" | |
# Solr configuration. | |
solr_version: "7.7.2" | |
solr_xms: "64M" | |
solr_xmx: "128M" | |
# Selenium configuration. | |
selenium_version: 2.53.0 | |
# Docker configuration. | |
docker_container_name: drupal-vm | |
docker_image_name: drupal-vm | |
docker_image_path: ~/Downloads | |
# Other configuration. | |
dashboard_install_dir: /var/www/dashboard | |
known_hosts_path: ~/.ssh/known_hosts | |
hostname_configure: true | |
hostname_fqdn: "{{ vagrant_hostname }}" | |
ssh_home: "{{ drupal_core_path }}" |