From 54e9a771f2b79ce7720b2ac0de8cac3687addf5e Mon Sep 17 00:00:00 2001 From: Colin Mollenhour Date: Fri, 21 Apr 2023 22:20:33 -0400 Subject: [PATCH] Improve use of Composer with dev/openmage environment and filesystem permissions. --- dev/openmage/README.md | 1 + dev/openmage/docker-compose.yml | 8 ++------ dev/openmage/install.sh | 7 ++++--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/dev/openmage/README.md b/dev/openmage/README.md index 287e4019f5c..f70db34edcf 100644 --- a/dev/openmage/README.md +++ b/dev/openmage/README.md @@ -32,6 +32,7 @@ on the containers used in this setup, but here are some quick tips: Here are some common commands you may wish to try: ``` +$ docker-compose run --rm -u $(id -u):$(id -g) cli composer require {some-module} $ docker-compose run --rm cli magerun sys:check $ docker-compose run --rm cli magerun cache:clean $ docker-compose run --rm cli magerun db:console diff --git a/dev/openmage/docker-compose.yml b/dev/openmage/docker-compose.yml index 9839e1b5da6..187f6bdfcb5 100644 --- a/dev/openmage/docker-compose.yml +++ b/dev/openmage/docker-compose.yml @@ -33,7 +33,8 @@ services: user: www-data volumes: - ../..:/var/www/html -# environment: + environment: + - COMPOSER_HOME=${COMPOSER_HOME:-/var/www/html/var/.composer} # - AWS_ACCESS_KEY_ID=00000000000000000000 # - AWS_SECRET_ACCESS_KEY=0000000000000000000000000000000000000000 # - AWS_REGION=eu-west-1 @@ -43,11 +44,6 @@ services: - mysql - "apache:${HOST_NAME:-openmage-7f000001.nip.io}" - composer: - image: composer:2.4 - volumes: - - ../..:/app - mysql: image: mysql:5.7 ports: diff --git a/dev/openmage/install.sh b/dev/openmage/install.sh index 0adc45ed87a..41fcda6bcb0 100755 --- a/dev/openmage/install.sh +++ b/dev/openmage/install.sh @@ -35,8 +35,9 @@ if test -f ../../app/etc/local.xml; then fi echo "Preparing filesystem..." -chmod 777 ../../app/etc ../../media ../../media/* ../../var -chmod g+s ../../app/etc ../../media ../../media/* ../../var +mkdir -p ../../vendor +chgrp 33 ../../app/etc ../../media ../../media/* ../../var ../../vendor +chmod g+ws ../../app/etc ../../media ../../media/* ../../var ../../vendor $dc run --rm --no-deps cli mkdir -p var/cache var/log var/locks var/session echo "Starting services..." @@ -48,7 +49,7 @@ for i in $(seq 1 20); do done echo "Installing Composer dependencies..." -$dc run --rm composer composer install --no-progress --ignore-platform-req=ext-* +$dc run --rm -u "$(id -u):$(id -g)" cli composer install --no-progress echo "Installing OpenMage LTS..." $dc run --rm cli php install.php \