Commit 4ccfd8e4 authored by Yas Naoi's avatar Yas Naoi
Browse files

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

parent 88673096
Loading
Loading
Loading
Loading
+13 −20
Original line number Diff line number Diff line
services:
  php:
    image: q0rban/tugboat-drupal:latest
    privileged: true
    default: true
    http: false
    # depends: mysql
@@ -8,7 +9,7 @@ services:
      init: |
        curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
        apt-get update && apt-get install -y gcc g++ make nodejs yarnpkg zlib1g \
          libfreetype6-dev libjpeg-dev libmemcached-dev libpng-dev libzip-dev
          libfreetype6-dev libjpeg-dev libmemcached-dev libpng-dev libzip-dev  > /dev/null 2>&1
      update: |
        set -eux

@@ -25,36 +26,31 @@ services:
        git checkout -b "${TUGBOAT_REPO_ID}"

        # Install Memcached libraries.
        apt-get install -y libmemcached-dev
        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 \
          --with-freetype \
          --with-jpeg
        docker-php-ext-configure zip
        docker-php-ext-install -j "$(nproc)" \
          gd \
          zip
          zip > /dev/null 2>&1

        # Composer is hungry. You need a Tugboat project with a pretty sizeable
        # chunk of memory.
@@ -121,7 +117,7 @@ services:
        # Use --db-url=mysql://tugboat:tugboat@mysql:3306/tugboat for mysql connection.
        cd "${DRUPAL_DOCROOT}"
        drush si -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' \
          cloud_orchestrator \
@@ -135,18 +131,15 @@ services:
        drush -y en memcache memcache_admin
        drush -y en simple_oauth

        # Set a private directory.
        mkdir -p "${PRIVATE_DIR}"

        # Set up a files directory.
        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.
        mkdir -p "${PRIVATE_DIR}"
        chgrp -R www-data "${PRIVATE_DIR}"
        chmod 2775 "${PRIVATE_DIR}"
        chmod -R g+w "${PRIVATE_DIR}"

        # The settings must be written after enabling the memcache module.
        tee -a "${SETTINGS_FILE}" > /dev/null << EOF
        \$settings['memcache']['servers'] = ['memcached:11211' => 'default'];
@@ -157,7 +150,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