Commit 1cee6725 authored by Yas Naoi's avatar Yas Naoi
Browse files

Issue #3267888 by yas: Refactor .tugboat/config.xml for live previews

parent e9f41cab
Loading
Loading
Loading
Loading
+14 −20
Original line number Diff line number Diff line
services:
  php:
    image: q0rban/tugboat-drupal:9.3
    privileged: true
    default: true
    http: false
    # depends: mysql
@@ -55,26 +56,22 @@ services:

        # Install Drupal on the site.
        # Use --db-url=mysql://tugboat:tugboat@mysql:3306/tugboat for mysql connection.
        export FILES_DIR='sites/default/files'
        drush -y \
          --db-url=sqlite://sites/default/files/db.sqlite \
          --db-url="sqlite://${FILES_DIR}/db.sqlite" \
          --site-name="Cloud Orchestrator live preview for '${TUGBOAT_PREVIEW_NAME}'" \
          --account-pass='admin' \
          si standard

        # Set a private directory.
        export PRIVATE_DIR="${DRUPAL_DOCROOT}/${FILES_DIR}/private"
        mkdir -p "${PRIVATE_DIR}"

        # Set up a files directory.
        export FILES_DIR='sites/default/files'
        mkdir -p "${DRUPAL_DOCROOT}/${FILES_DIR}"
        chgrp -R www-data "${DRUPAL_DOCROOT}/${FILES_DIR}"
        chmod 2775 "${DRUPAL_DOCROOT}/${FILES_DIR}"
        chmod -R 2775 "${DRUPAL_DOCROOT}/${FILES_DIR}"
        chmod -R g+w "${DRUPAL_DOCROOT}/${FILES_DIR}"

        # Set a private directory.
        export PRIVATE_DIR="${FILES_DIR}/private"
        mkdir -p "${PRIVATE_DIR}"
        chgrp -R www-data "${PRIVATE_DIR}"
        chmod 2775 "${PRIVATE_DIR}"
        chmod -R g+w "${PRIVATE_DIR}"

        # Set up $settings['file_private_path'] in settings.php
        export SETTINGS_FILE="${DRUPAL_DOCROOT}/sites/default/settings.php"
        echo "\$settings['file_private_path'] = '${PRIVATE_DIR}';" >> "${SETTINGS_FILE}"
@@ -105,24 +102,21 @@ services:
        # Install Memcached libraries.
        git clone https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached
        cd /usr/src/php/ext/memcached
        docker-php-ext-configure memcached
        docker-php-ext-install memcached
        docker-php-ext-install memcached > /dev/null 2>&1

        # Install APCU libraries.
        git clone https://github.com/krakjoe/apcu /usr/src/php/ext/apcu
        cd /usr/src/php/ext/apcu
        docker-php-ext-configure apcu
        docker-php-ext-install apcu
        docker-php-ext-install apcu > /dev/null 2>&1

        # Install OpCache.
        docker-php-ext-install -j "$(nproc)" opcache
        docker-php-ext-install -j "$(nproc)" opcache > /dev/null 2>&1

        # Install uploadprogress.
        pecl install uploadprogress
        git clone https://github.com/php/pecl-php-uploadprogress /usr/src/php/ext/uploadprogress
        cd /usr/src/php/ext/uploadprogress
        docker-php-ext-configure uploadprogress
        docker-php-ext-install uploadprogress
        docker-php-ext-install uploadprogress > /dev/null 2>&1

        # Install graphic libraries.
        docker-php-ext-configure gd \
@@ -131,7 +125,7 @@ services:
        docker-php-ext-configure zip
        docker-php-ext-install -j "$(nproc)" \
          gd \
          zip
          zip > /dev/null 2>&1

        # Setup Memcache module.
        drush en -y memcache memcache_admin
@@ -144,7 +138,7 @@ services:

        # Setup crontab.
        { echo '*/5 * * * * www-data cd /var/www/cloud_orchestrator && /usr/local/bin/drush cron > /dev/null 2>&1'; } >> /etc/crontab
        { echo '*/5 * * * * www-data cd /var/www/html/web && for MODULE in '\''aws_cloud'\'' '\''k8s'\'' '\''openstack'\'' '\''vmware'\'' '\''terraform'\''; do export QUEUE=$(drush queue-list | grep "$''{MODULE}" | awk '\''{print $1}'\''); if [ "$''{QUEUE}" ]; then drush queue-run "$''{QUEUE}" --time-limit=120 > /dev/null 2>&1; fi done'; } >> /etc/crontab
        { echo '*/5 * * * * www-data cd /var/www/cloud_orchestrator && for MODULE in '\''aws_cloud'\'' '\''k8s'\'' '\''openstack'\'' '\''vmware'\'' '\''terraform'\''; do export QUEUE=$(drush queue-list | grep "$''{MODULE}" | awk '\''{print $1}'\''); if [ "$''{QUEUE}" ]; then drush queue-run "$''{QUEUE}" --time-limit=120 > /dev/null 2>&1; fi done'; } >> /etc/crontab
      build: |
        set -eux