Update: 2026-08-02 17:52:28
This commit is contained in:
@@ -23,6 +23,8 @@ services:
|
||||
- ../dashboard:/var/www/dashboard:ro
|
||||
depends_on:
|
||||
- php
|
||||
- php_transit
|
||||
- php_food
|
||||
mem_limit: 256m
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -48,6 +50,75 @@ services:
|
||||
mem_limit: 2g
|
||||
restart: unless-stopped
|
||||
|
||||
# php-fpm معزولة لخدمة Mawasalati (transit) — حاوية مستقلة عن الباك إند الرئيسي.
|
||||
# المشترك الوحيد مع النظام الأساسي: JWT ومصادقة السائق/الراكب عبر backend/core
|
||||
# (نُركّبها read-only)، ونفس mysql/redis. لا صلة بـ backend الرئيسي ولا payment v2،
|
||||
# ولا تتأثر Mawasalati إذا امتلأ pool الباك إند الرئيسي أو انهار.
|
||||
php_transit:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/php/Dockerfile.fpm.transit
|
||||
args:
|
||||
PHP_VERSION: "${PHP_VERSION:-8.2}"
|
||||
volumes:
|
||||
- ../backend/core:/var/www/backend/core:ro
|
||||
- ../backend/functions.php:/var/www/backend/functions.php:ro
|
||||
- ../backend/transit:/var/www/backend/transit
|
||||
- ./php/opcache.ini:/usr/local/etc/php/conf.d/zz-opcache.ini:ro
|
||||
- ./php/www-pool.transit.conf:/usr/local/etc/php-fpm.d/zz-pool.conf:ro
|
||||
- ./keys:/keys:ro
|
||||
env_file: .env
|
||||
depends_on:
|
||||
- mysql
|
||||
- redis
|
||||
mem_limit: 512m
|
||||
restart: unless-stopped
|
||||
|
||||
# php-fpm معزولة لوحدة طلبات الطعام — نفس منطق عزل php_transit.
|
||||
# المشترك الوحيد: JWT (backend/core) ونفس mysql/redis. قاعدة siro_food منفصلة.
|
||||
php_food:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/php/Dockerfile.fpm.transit
|
||||
args:
|
||||
PHP_VERSION: "${PHP_VERSION:-8.2}"
|
||||
volumes:
|
||||
- ../backend/core:/var/www/backend/core:ro
|
||||
- ../backend/functions.php:/var/www/backend/functions.php:ro
|
||||
- ../backend/food:/var/www/backend/food
|
||||
- ./php/opcache.ini:/usr/local/etc/php/conf.d/zz-opcache.ini:ro
|
||||
- ./php/food-pool.conf:/usr/local/etc/php-fpm.d/zz-pool.conf:ro
|
||||
- ./keys:/keys:ro
|
||||
env_file: .env
|
||||
depends_on:
|
||||
- mysql
|
||||
- redis
|
||||
mem_limit: 768m
|
||||
restart: unless-stopped
|
||||
|
||||
# سوكيت الطعام — WS بورت 4040 + HTTP داخلي 4041
|
||||
socket_food:
|
||||
build:
|
||||
context: ./php
|
||||
dockerfile: Dockerfile.socket
|
||||
args:
|
||||
PHP_VERSION: "${PHP_VERSION:-8.2}"
|
||||
command: ["php", "food_socket.php", "start"]
|
||||
working_dir: /app
|
||||
volumes:
|
||||
- ../food_server:/app
|
||||
- ./keys:/keys:ro
|
||||
env_file: .env
|
||||
ports:
|
||||
# نفس منطق سوكيت السائقين: لا نفتح 4040 للعالم مباشرة — nginx على
|
||||
# المضيف يستمع 4040 بالشهادة ويمرّر إلى 14040 هنا. 4041 داخلي فقط
|
||||
# (الباك إند يناديه عبر http://socket_food:4041).
|
||||
- "127.0.0.1:${FOOD_SOCKET_PORT:-14040}:4040"
|
||||
depends_on:
|
||||
- redis
|
||||
mem_limit: 512m
|
||||
restart: unless-stopped
|
||||
|
||||
# سوكيت السائقين (Workerman + PHPSocketIO) — WS بورت 2020 + HTTP داخلي 2021
|
||||
# عملية دائمة، لا علاقة لها بـ fpm — حاوية مستقلة إجبارياً.
|
||||
socket_driver:
|
||||
|
||||
Reference in New Issue
Block a user