The Ægir repo includes configuration files for spinning up a local containerized system using ddev, which makes it very easy to get started.
DDEV installation depends on your development machine OS. You can get the current instructions at the DDEV documentation site.
To get started, clone this repository locally.
git clone --recursive https://gitlab.com/aegir/aegir.git
cd aegir
source d
make start build dev workers
dev
pwd
Go to http://aegir.ddev.site/admin/aegir/queue
There are two buttons on this page for checking the status of the queues… Click Check connection settings
and you should get a green splash at the top of the page that starts Connection to dispatcherd worker succeeded
Click on Check task queue
to ensure the end-to-end connection is working.
Note: As of late 2021, this test can take a long time to run (up to a minute) on MacOS. The solution is to use NFS to mount the project into the web container, as described in the performance section of the DDEV site.
The various components of Ægir are written in different languages and frameworks, which entails different methods for managing dependencies and requirements. Here are the most notable mechanisms we use to manage these:
build/ansible/requirements.yml
: Ansible roles.build/ansible/roles/aegir.aegir/meta/main.yml
: Ansible dependencies.profile/composer.json
: Drupal profile PHP dependencies.profile/aegir.info.yml
: Drupal dependencies.build/ansible/roles/aegir.aegir/files/platform_build.j2
: Template to generate a composer.json that will build a Drupal platform for Aegir. Includes drush
, behat
, phpcs
, etc.make ansible
: Standardized method for installing Ansible (via Drumkit).