diff --git a/docker-multistage/Dockerfile-base b/docker-multistage/Dockerfile-base index 1f9d65335e6f9f54a1f1eeaf2b1e99cf93df301b..04551b106142bd8ce8b0db6442d6c7f96b5d42fb 100644 --- a/docker-multistage/Dockerfile-base +++ b/docker-multistage/Dockerfile-base @@ -9,6 +9,15 @@ ENV php_conf /etc/php/7.3/fpm/php.ini ENV php_fpm_conf /etc/php/7.3/fpm/php-fpm.conf ENV fpm_conf /etc/php/7.3/fpm/pool.d/www.conf +# Change www-data guid/uid +ARG www_data_uid=1000 +ARG www_data_gid=1000 + +RUN usermod -u $www_data_uid -o www-data && groupmod -g $www_data_gid -o www-data + +# RUN addgroup --system --gid $www_data_gid www-data && \ +# adduser --system --disabled-login --ingroup www-data --no-create-home --home /var/www --gecos "www-data" --shell /usr/sbin/nologin --uid $www_data_uid www-data + RUN apt-get update && \ # Install production packages apt-get install --no-install-recommends --no-install-suggests -q -y \ @@ -38,8 +47,6 @@ RUN apt-get update && \ # Install wkhtmltopdf curl -o wkhtmltox.deb -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.buster_amd64.deb && \ apt-get install -y --no-install-recommends ./wkhtmltox.deb && \ - # add user - useradd --uid 1000 --shell /bin/bash --home-dir /var/www application && \ # configure php-fpm sed -i -e "s/memory_limit\s*=\s*.*/memory_limit = 256M/g" ${php_conf} && \ sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" ${php_conf} && \ @@ -47,8 +54,8 @@ RUN apt-get update && \ sed -i -e "s/variables_order = \"GPCS\"/variables_order = \"EGPCS\"/g" ${php_conf} && \ sed -i -e "s/max_execution_time\s*=\s*.*/max_execution_time = 300/g" ${php_conf} && \ sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" ${fpm_conf} && \ - sed -i -e "s/^user\s*=\s*www-data/user = application/g" ${fpm_conf} && \ - sed -i -e "s/^group\s*=\s*www-data/;group = www-data/g" ${fpm_conf} && \ + # sed -i -e "s/^user\s*=\s*www-data/user = application/g" ${fpm_conf} && \ + # sed -i -e "s/^group\s*=\s*www-data/;group = www-data/g" ${fpm_conf} && \ sed -i -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" ${fpm_conf} && \ sed -i -e "s/pm.max_children = 5/pm.max_children = 4/g" ${fpm_conf} && \ sed -i -e "s/pm.start_servers = 2/pm.start_servers = 3/g" ${fpm_conf} && \ diff --git a/docker-multistage/Dockerfile-drupalci b/docker-multistage/Dockerfile-drupalci index fecdf195bf021f5d88e9285c838a3fceb0c2356b..9a2e5a92ad62b653b48f53b56a321a07dae187b5 100644 --- a/docker-multistage/Dockerfile-drupalci +++ b/docker-multistage/Dockerfile-drupalci @@ -54,8 +54,7 @@ WORKDIR /opt/drupal RUN set -eux; \ export COMPOSER_HOME="$(mktemp -d)"; \ composer create-project --no-interaction "drupal/recommended-project:8.9" ./; \ - # chown -R www-data:www-data web/sites web/modules web/themes; \ - chown -R application:application web/sites web/modules web/themes; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ # rmdir /var/www/html; \ ln -sf /opt/drupal/web /var/www/html; \ # delete composer cache @@ -63,16 +62,14 @@ RUN set -eux; \ #================== # Composer. -# COPY --chown=www-data:www-data --from=composer:latest /usr/bin/composer /usr/local/bin/composer -COPY --chown=application:application etc/ci/composer.json /var/www/.composer/composer.json +COPY --chown=www-data:www-data --from=composer:1 /usr/bin/composer /usr/local/bin/composer +COPY --chown=www-data:www-data etc/ci/composer.json /var/www/.composer/composer.json RUN mkdir -p /var/www/.composer /var/www/html \ && chmod 777 /var/www \ - # && chown -R www-data:www-data /var/www - && chown -R application:application /var/www + && chown -R www-data:www-data /var/www -# USER www-data -USER application +USER www-data # Manage Composer. WORKDIR /var/www/.composer @@ -114,16 +111,14 @@ RUN apt-get update \ RUN set -eux; \ export COMPOSER_HOME="$(mktemp -d)"; \ COMPOSER_MEMORY_LIMIT=-1 composer require "drupal/core-dev:~8.9.0" "drush/drush:^10" --working-dir="/opt/drupal" --no-interaction --no-ansi --no-suggest; \ - # chown -R www-data:www-data /opt/drupal/web/profiles; \ - chown -R application:application /opt/drupal/web/profiles; \ + chown -R www-data:www-data /opt/drupal/web/profiles; \ # delete composer cache # rm -rf "" rm -rf "$COMPOSER_HOME" # Manage final tasks. -# COPY --chown=www-data:www-data etc/ci/run-tests.sh /scripts/run-tests.sh -COPY --chown=application:application etc/ci/run-tests.sh /scripts/run-tests.sh +COPY --chown=www-data:www-data etc/ci/run-tests.sh /scripts/run-tests.sh COPY --chown=chromeuser:chromeuser etc/ci/start-chromedriver.sh /scripts/start-chromedriver.sh COPY --chown=chromeuser:chromeuser etc/ci/start-chrome.sh /scripts/start-chrome.sh