All Projects → wunderio → WunderTools

wunderio / WunderTools

Licence: GPL-2.0 license
Project reference configuration for use with Ansible & Vagrant

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
PHP
23972 projects - #3 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to WunderTools

awesome-drupal
A curated list of amazingly awesome Drupal open source, resources and shiny things.
Stars: ✭ 106 (+488.89%)
Mutual labels:  drupal
drupal-dev-docker
An opinionated Drupal development environment based on Docker.
Stars: ✭ 22 (+22.22%)
Mutual labels:  drupal
shila-drupal-theme
Atomic design and Pattern Lab friendly, component-based, fairly unopinionated starting point for new Drupal themes
Stars: ✭ 81 (+350%)
Mutual labels:  drupal
joinup-dev
The Joinup project moved to https://git.fpfis.eu/ec-europa/digit-joinup-reference
Stars: ✭ 41 (+127.78%)
Mutual labels:  drupal
drupal8-composer-template
Project template for Drupal 8 projects with composer | Quick installation via "composer create-project woprrr/drupal8-composer-template:8.3.0"
Stars: ✭ 27 (+50%)
Mutual labels:  drupal
awesome-sysadmin-tools
Collection of links and resources for sysadmins and Drupal lovers
Stars: ✭ 17 (-5.56%)
Mutual labels:  drupal
ansible-role-drupal
Ansible Role - Drupal
Stars: ✭ 80 (+344.44%)
Mutual labels:  drupal
cli
Acquia CLI
Stars: ✭ 30 (+66.67%)
Mutual labels:  drupal
drupal-typed-data-by-example
Drupal's Typed Data API by example
Stars: ✭ 27 (+50%)
Mutual labels:  drupal
jDrupal
A JavaScript Library and API for Drupal Applications
Stars: ✭ 77 (+327.78%)
Mutual labels:  drupal
boilerplate-drupal8
[ARCHIVED] Drupal 8 boilerplate project powered by Docksal
Stars: ✭ 66 (+266.67%)
Mutual labels:  drupal
buzzyblog
React + WordPress REST API, a new endeavor to provide a better experience to content creators, web masters and digital marketers, etc
Stars: ✭ 50 (+177.78%)
Mutual labels:  drupal
drupal-php
PHP docker container image for Drupal
Stars: ✭ 56 (+211.11%)
Mutual labels:  drupal
ding2
Ding install profile
Stars: ✭ 17 (-5.56%)
Mutual labels:  drupal
migrate source example
Example module for Drupal 8 that provides migrations of users, terms, files and nodes from database, JSON resources, CSV and XML files. #migrate
Stars: ✭ 39 (+116.67%)
Mutual labels:  drupal
thunder-distribution
A Drupal-based platform for professional publishers
Stars: ✭ 31 (+72.22%)
Mutual labels:  drupal
drupal
Vanilla Drupal docker container image
Stars: ✭ 19 (+5.56%)
Mutual labels:  drupal
drevops
💧 + 🐳 + ✓✓✓ + 🤖 + ❤️ Build, Test, Deploy scripts for Drupal using Docker and CI/CD
Stars: ✭ 55 (+205.56%)
Mutual labels:  drupal
drupal-pi
Drupal on Docker on a Raspberry Pi. Pi Dramble's little brother.
Stars: ✭ 92 (+411.11%)
Mutual labels:  drupal
webapp-wordlists
This repository contains wordlists for each versions of common web applications and content management systems (CMS). Each version contains a wordlist of all the files directories for this version.
Stars: ✭ 306 (+1600%)
Mutual labels:  drupal

Wundertools

Note! This project is no longer in active development and receives only maintenance fixes. For new projects, we recommend https://github.com/wunderio/drupal-project instead.

Reference setup with Ansible & Vagrant for Drupal 8 projects. For Drupal 7 support, see the Drupal 7 branch.

CircleCI

Requirements

  • Install Vagrant 1.9.2 or greater
  • Install vagrant-cachier vagrant plugin install vagrant-cachier
  • Install Virtualbox 5.1 or greater. Note version 5.1.24 has a known issue that breaks nfs, do not use it, version 5.1.22 s known to work.
  • Make sure you have python2.7 also installedi (For OS X should be default).

Creating a new project

If you are starting a new project, see: Setup.md

Setting up an existing project locally

Find the IP-address and hostname that this local environment is configured to use from conf/vagrant_local.yml and add it to your own /etc/hosts file:

10.0.13.37 local.wundertools.com

Let Vagrant create your new machine:

vagrant up

This will create a new Virtual machine on your computer, configure it with all the nice bells & whistles that you can think of (like MariaDB, nginx, Varnish, memcached and whatnot) and start it up for you. This will also install vagrant plugin depedencies, if you encounter issues while installing the plugins then you could use: vagrant --skip-dependency-manager up

SSH into your box and build and install Drupal:

vagrant ssh
cd /vagrant/drupal
./build.sh new

If this is a project with an existing production/staging server, you should probably sync the production database now, from your local machine:

sync.sh

Drush is usable without ssh access with the drush.sh script e.g:

$ ./drush.sh cr

To open up ssh access to the virtual machine:

$ vagrant ssh

Optional additions

WunderSecrets

You can setup additional git repository for shared secrets. You need to set that in conf/project.yml -> wundersecrets: remote: [email protected]:username/repo.

Only the file ansible.yml is loaded from that repository.

Useful things

At the moment IP is configured in Vagrantfile variable INSTANCE_IP

Varnish responds to http://x.x.x.x/

Nginx responds to http://x.x.x.x:8080/

Solr responds to http://x.x.x.x:8983/solr

MailHOG responds to http://x.x.x.x:8025 or https://local.project.tld/mailhog/

Docs are in http://x.x.x.x:8080/index.html You can setup the dir where the docs are taken from and their URL from the variables.yml file.

    #Docs
    docs:
      hostname : 'docs.local.wundertools.com'
      dir : '/vagrant/docs'

Vagrant + Ansible configuration

Vagrant is using Ansible provision stored under the ansible subdirectory. The inventory file (which stores the hosts and their IP's) is located under ansible/inventory. Host specific configurations for Vagrant are stored in ansible/vagrant.yml and the playbooks are under ansible/playbook directory. Variable overrides are defined in ansible/variables.yml.

You should only bother with the following:

  • Vagrant box setup conf/vagrant.yml
  • What components do you want to install? conf/vagrant.yml
  • And how are those set up? conf/variables.yml
  • You can also fix your vagrant/ansible base setup to certain branch/revision conf/project.yml There you can also do the same for build.sh

Debugging tools

XDebug tools are installed via the devtools role. Everything should work out of the box for PHPStorm. PHP script e.g. drush debugging should also work.

Lando debugging

XDebug can be enabled by uncommeting xdebug: true in the .lando.yml file. After lando rebuild port 9000 is used for XDebug.

Note: Make sure port 9000 is not used in your OS for anything else. You can see all ports in use for example with lsof -i -n -P. For example php-fpm might be using port 9000 if you have it running.

Provisioning with Lando

Perform the following tasks in the project root folder to set up the Lando-based provisioning tool:

  1. create the file ~/.ssh/ansible.vault and save it with the Ansible vault password (search for Ansible vault password or similar in the LastPass),
  2. run lando start,
  3. use lando provision for help and lando provision <task> for provisioning tasks.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].