Fix vendor autoload missing in docker images by adding anonymous volumes and installing composer dependencies for all servers

This commit is contained in:
Hamza-Ayed
2026-08-01 05:48:27 +03:00
parent d0ab3653dd
commit 0a49a3d4e8
3 changed files with 27 additions and 6 deletions
+9 -4
View File
@@ -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:
+10 -2
View File
@@ -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
+8
View File
@@ -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