|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Clone repository |
| 4 | +if [ ! -f /var/www/html/composer.json ]; then |
| 5 | + echo Clone PrestaShop $PS_BRANCH |
| 6 | + git clone -b $PS_BRANCH https://github.com/PrestaShop/PrestaShop.git /var/www/html |
| 7 | + chown -R www-data:www-data /var/www/html |
| 8 | +fi |
| 9 | + |
| 10 | +# Install composer |
| 11 | +if [ ! -f /usr/local/bin/composer ]; then |
| 12 | + echo "\n* Install composer ..."; |
| 13 | + mkdir -p /var/www/.composer |
| 14 | + chown -R www-data:www-data /var/www/.composer |
| 15 | + runuser -g www-data -u www-data -- php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');" && php /tmp/composer-setup.php --no-ansi --install-dir=/usr/local/bin --filename=composer && rm -rf /tmp/composer-setup.php |
| 16 | + if [ ! -f /usr/local/bin/composer ]; then |
| 17 | + echo Composer installation failed |
| 18 | + exit 1 |
| 19 | + fi |
| 20 | +fi |
| 21 | + |
| 22 | +# Install vendor dependencies |
| 23 | +if [ ! -f /var/www/html/vendor/autoload.php ]; then |
| 24 | + echo "\n* Running composer ..."; |
| 25 | + pushd /var/www/html |
| 26 | + # Execute composer as default user so that we can set the env variables to increase timeout, also disable default_socket_timeout for php |
| 27 | + COMPOSER_PROCESS_TIMEOUT=600 COMPOSER_IPRESOLVE=4 php -ddefault_socket_timeout=-1 /usr/local/bin/composer install --ansi --prefer-dist --no-interaction --no-progress |
| 28 | + # Update the owner of composer installed folders to be www-data |
| 29 | + chown -R www-data:www-data vendor modules themes |
| 30 | + popd |
| 31 | +fi |
| 32 | + |
| 33 | +# Build assets |
| 34 | +if [ "${DISABLE_MAKE}" != "1" ]; then |
| 35 | + mkdir -p /var/www/.npm |
| 36 | + chown -R www-data:www-data /var/www/.npm |
| 37 | + |
| 38 | + echo "\n* Install node $NODE_VERSION..."; |
| 39 | + export NVM_DIR=/usr/local/nvm |
| 40 | + mkdir -p $NVM_DIR \ |
| 41 | + && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash \ |
| 42 | + && . $NVM_DIR/nvm.sh \ |
| 43 | + && nvm install $NODE_VERSION \ |
| 44 | + && nvm alias default $NODE_VERSION \ |
| 45 | + && nvm use default |
| 46 | + |
| 47 | + export NODE_PATH=$NVM_DIR/versions/node/v$NODE_VERSION/bin |
| 48 | + export PATH=$PATH:$NODE_PATH |
| 49 | + |
| 50 | + pushd /var/www/html |
| 51 | + echo "\n* Build assets ..."; |
| 52 | + runuser -g www-data -u www-data -- /usr/bin/make assets |
| 53 | + |
| 54 | + echo "\n* Wait for assets built..."; |
| 55 | + runuser -g www-data -u www-data -- /usr/bin/make wait-assets |
| 56 | + popd |
| 57 | +else |
| 58 | + echo "\n* Build of assets was disabled..."; |
| 59 | +fi |
| 60 | + |
| 61 | +/tmp/docker_run.sh |
0 commit comments