From 0a49a3d4e84a0e02cef52eb63fd78973108a4f24 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 1 Aug 2026 05:48:27 +0300 Subject: [PATCH] Fix vendor autoload missing in docker images by adding anonymous volumes and installing composer dependencies for all servers --- docker/docker-compose.yml | 13 +++++++++---- docker/php/Dockerfile.fpm | 12 ++++++++++-- docker/php/Dockerfile.socket | 8 ++++++++ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index c654706..666b2a5 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -36,8 +36,11 @@ services: PHP_VERSION: "${PHP_VERSION:-8.2}" volumes: - ../backend:/var/www/backend + - /var/www/backend/vendor - ../payment_server/v2:/var/www/v2 + - /var/www/v2/vendor - ../loction_server:/var/www/loction_server + - /var/www/loction_server/vendor - ./php/opcache.ini:/usr/local/etc/php/conf.d/zz-opcache.ini:ro - ./php/www-pool.conf:/usr/local/etc/php-fpm.d/zz-pool.conf:ro - ./keys:/keys:ro @@ -57,9 +60,10 @@ services: args: PHP_VERSION: "${PHP_VERSION:-8.2}" command: ["php", "driver_socket.php", "start"] - working_dir: /app + working_dir: /var/www/loction_server volumes: - - ../loction_server:/app + - ../loction_server:/var/www/loction_server + - /var/www/loction_server/vendor - ./keys:/keys:ro env_file: .env ports: @@ -84,9 +88,10 @@ services: args: PHP_VERSION: "${PHP_VERSION:-8.2}" command: ["php", "passenger_socket.php", "start"] - working_dir: /app + working_dir: /var/www/ride_server volumes: - - ../ride_server:/app + - ../ride_server:/var/www/ride_server + - /var/www/ride_server/vendor - ./keys:/keys:ro env_file: .env ports: diff --git a/docker/php/Dockerfile.fpm b/docker/php/Dockerfile.fpm index afc2698..b9c6a15 100644 --- a/docker/php/Dockerfile.fpm +++ b/docker/php/Dockerfile.fpm @@ -8,7 +8,15 @@ RUN chmod +x /usr/local/bin/install-php-extensions && \ # تثبيت مكتبات سيرفر المدفوعات (firebase/php-jwt وغيره) # هذا يخبز vendor/ داخل الصورة مباشرة حتى لا يعتمد على مجلد خارجي -COPY payment_server/v2/composer.json payment_server/v2/composer.lock /var/www/v2/ -RUN cd /var/www/v2 && composer install --no-dev --no-interaction --optimize-autoloader +COPY payment_server/v2/composer.json payment_server/v2/composer.lock* /var/www/v2/ +RUN cd /var/www/v2 && composer install --no-dev --no-interaction --optimize-autoloader || echo "composer failed for v2" + +# تثبيت مكتبات سيرفر الباك إند +COPY backend/composer.json backend/composer.lock* /var/www/backend/ +RUN cd /var/www/backend && composer install --no-dev --no-interaction --optimize-autoloader || echo "composer failed for backend" + +# تثبيت مكتبات سيرفر الموقع +COPY loction_server/composer.json loction_server/composer.lock* /var/www/loction_server/ +RUN cd /var/www/loction_server && composer install --no-dev --no-interaction --optimize-autoloader || echo "composer failed for loction_server" WORKDIR /var/www diff --git a/docker/php/Dockerfile.socket b/docker/php/Dockerfile.socket index ded2f42..a0502ac 100644 --- a/docker/php/Dockerfile.socket +++ b/docker/php/Dockerfile.socket @@ -7,4 +7,12 @@ ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/do RUN chmod +x /usr/local/bin/install-php-extensions && \ install-php-extensions pcntl posix sockets event redis @composer +# تثبيت مكتبات سيرفر الموقع +COPY loction_server/composer.json loction_server/composer.lock* /var/www/loction_server/ +RUN cd /var/www/loction_server && composer install --no-dev --no-interaction --optimize-autoloader || echo "composer failed for loction_server" + +# تثبيت مكتبات سيرفر الركاب +COPY ride_server/composer.json ride_server/composer.lock* /var/www/ride_server/ +RUN cd /var/www/ride_server && composer install --no-dev --no-interaction --optimize-autoloader || echo "composer failed for ride_server" + WORKDIR /app