From 1509aa6a141373fe8e21ab8ba9b06fba662a76a5 Mon Sep 17 00:00:00 2001 From: sindoring Date: Fri, 13 Mar 2026 23:39:12 +0400 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=B4=D0=B5=D0=BF?= =?UTF-8?q?=D0=BB=D0=BE=D0=B9=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/deploy-ubuntu.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/scripts/deploy-ubuntu.sh b/scripts/deploy-ubuntu.sh index 80d2a65..4c40de6 100755 --- a/scripts/deploy-ubuntu.sh +++ b/scripts/deploy-ubuntu.sh @@ -11,6 +11,8 @@ DB_SERVICE="${DB_SERVICE:-mysql}" COMPOSER_IMAGE="${COMPOSER_IMAGE:-composer:2}" BUILD_IMAGES=1 WARM_CACHE=1 +PROJECT_UID="" +PROJECT_GID="" usage() { cat <<'EOF' @@ -71,11 +73,13 @@ compose() { composer_install() { docker run --rm \ - -u "${WWWUSER}:${WWWGROUP}" \ + -u "${PROJECT_UID}:${PROJECT_GID}" \ + -e HOME=/tmp/composer-home \ + -e COMPOSER_HOME=/tmp/composer-home \ -v "${ROOT_DIR}:/app" \ -w /app \ "$COMPOSER_IMAGE" \ - install --no-dev --prefer-dist --optimize-autoloader --no-interaction + sh -lc 'mkdir -p "$COMPOSER_HOME" /app/vendor && git config --global --add safe.directory /app && composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction' } app_exec() { @@ -129,9 +133,19 @@ prepare_directories() { "${ROOT_DIR}/storage/framework/sessions" \ "${ROOT_DIR}/storage/framework/testing" \ "${ROOT_DIR}/storage/framework/views" \ - "${ROOT_DIR}/storage/logs" + "${ROOT_DIR}/storage/logs" \ + "${ROOT_DIR}/vendor" chmod -R ug+rwx "${ROOT_DIR}/bootstrap/cache" "${ROOT_DIR}/storage" + + if [[ "$(id -u)" -eq 0 ]]; then + chown -R "${WWWUSER}:${WWWGROUP}" "${ROOT_DIR}/bootstrap/cache" "${ROOT_DIR}/storage" + fi +} + +resolve_ids() { + PROJECT_UID="$(stat -c '%u' "$ROOT_DIR")" + PROJECT_GID="$(stat -c '%g' "$ROOT_DIR")" } parse_args() { @@ -165,12 +179,13 @@ main() { cd "$ROOT_DIR" prepare_env - prepare_directories WWWUSER="$(env_value WWWUSER)" WWWGROUP="$(env_value WWWGROUP)" WWWUSER="${WWWUSER:-1000}" WWWGROUP="${WWWGROUP:-1000}" + resolve_ids + prepare_directories log "Устанавливаю production-зависимости Composer" composer_install