199 lines
8.6 KiB
Bash
199 lines
8.6 KiB
Bash
# ============================================================
|
||
# Tripz Docker Environment Variables
|
||
# ============================================================
|
||
|
||
# --- 1. Core Settings ---
|
||
PHP_VERSION=8.2
|
||
HTTP_PORT=8183
|
||
APP_DOMAIN=api.tripz-egypt.com
|
||
APP_ISSUER=TripzApp
|
||
APP_DEBUG=false
|
||
APP_COUNTRY=Jordan
|
||
APP_CURRENCY=JOD
|
||
|
||
# --- 2. Databases (Hosts must be 'mysql' in Docker) ---
|
||
MYSQL_ROOT_PASSWORD=Tripz_Root_Password_2026!
|
||
|
||
DB_PAYMENT_HOST=mysql
|
||
DB_PAYMENT_NAME=paymentDB
|
||
DB_PAYMENT_USER=paymentUser
|
||
DB_PAYMENT_PASS=P4ym3nt_Tr!pz_P@ss2026
|
||
|
||
DB_PRIMARY_HOST_V2=mysql
|
||
DB_PRIMARY_NAME_V2=mainDB
|
||
DB_PRIMARY_USER_V2=mainUser
|
||
DB_PRIMARY_PASS_V2=M4in_Tr!pz_P@ss2026
|
||
|
||
# Backward compatibility for old DB_PRIMARY env vars if used in code
|
||
DB_PRIMARY_HOST=mysql
|
||
DB_PRIMARY_NAME=mainDB
|
||
DB_PRIMARY_USER=mainUser
|
||
DB_PRIMARY_PASS=M4in_Tr!pz_P@ss2026
|
||
|
||
DB_TRACKING_HOST=mysql
|
||
DB_TRACKING_NAME=locationDB
|
||
DB_TRACKING_USER=locationUser
|
||
DB_TRACKING_PASS=L0c_Tr!pz_P@ss2026
|
||
|
||
DB_RIDE_HOST=mysql
|
||
DB_RIDE_NAME=ridesDB
|
||
DB_RIDE_USER=ridesUser
|
||
DB_RIDE_PASS=R!des_Tr!pz_P@ss2026
|
||
|
||
DB_TRANSIT_HOST=mysql
|
||
DB_TRANSIT_PORT=3306
|
||
DB_TRANSIT_NAME=transitDB
|
||
DB_TRANSIT_USER=transitUser
|
||
DB_TRANSIT_PASS=Tr4ns!t_Tr!pz_P@ss2026
|
||
|
||
# قاعدة طلبات الطعام — منفصلة عن بقية القواعد (انظر mysql/init/06-foodDB.sql)
|
||
DB_FOOD_HOST=mysql
|
||
DB_FOOD_PORT=3306
|
||
DB_FOOD_NAME=tripz_food
|
||
DB_FOOD_USER=tripz_food
|
||
# ⚠️ يجب أن تطابق mysql/init/06-foodDB.sql — غيّرها قبل الإقلاع الأول.
|
||
DB_FOOD_PASS=CHANGE_ME_STRONG_PASSWORD
|
||
|
||
# --- 3. Redis ---
|
||
REDIS_HOST=redis
|
||
REDIS_PORT=6379
|
||
REDIS_LOCATION_HOST=redis
|
||
REDIS_LOCATION_PORT=6379
|
||
REDIS_MAIN_HOST=redis
|
||
REDIS_MAIN_PORT=6379
|
||
REDIS_MAIN_PASSWORD=
|
||
|
||
# --- 4. Internal Sockets (Docker Network Names) ---
|
||
LOCATION_SERVER_URL=http://socket_driver:2021
|
||
RIDE_SOCKET_URL=http://socket_passenger:3031
|
||
# ⚠️ إجباري في Docker: بدونه يستخدم driver_socket.php الافتراضي 127.0.0.1:3031
|
||
# وهو داخل حاوية socket_driver يشير لنفسها، فلا يصل الراكب أي تحديث موقع.
|
||
PASSENGER_SOCKET_INTERNAL_URL=http://socket_passenger:3031
|
||
|
||
# --- 4.5 Host Socket Ports (على سيرفر مشترك مع نسخ أخرى) ---
|
||
# siro يحجز: 12020/13030/14040 · intaleq يحجز: 12032/13032
|
||
# تربز يعمل على المنافذ التالية — لا تغيّرها إلا بعد التحقق من ss -tlnp
|
||
DRIVER_SOCKET_PORT=12022
|
||
PASSENGER_SOCKET_PORT=13033
|
||
FOOD_SOCKET_PORT=14042
|
||
|
||
# --- 5. External Sockets & URLs ---
|
||
LOCATION_SOCKET_URL=http://socket_driver:2021
|
||
PASSENGER_SOCKET_URL=http://socket_passenger:3031
|
||
LOCATION_API_URL=http://nginx/loction_server/api_get_nearby.php
|
||
WALLET_SERVER_JORDAN=http://nginx
|
||
WALLET_SERVER_EGYPT=http://nginx
|
||
WALLET_SERVER_SYRIA=http://nginx
|
||
|
||
# --- 6. JWT, Encryption & Secrets ---
|
||
# JWT_SECRET_KEY=
|
||
# JWT_SECRET=
|
||
# INTERNAL_KEY=
|
||
TRACKING_SECRET_SALT=RaIt3bznBXIHJAtpaBz7JHFwcec9JFyzOXaoIZKG
|
||
secretSaltParent=Q4g2XFGMY2aSTp1kq6RaIt3bznBXIHJAtpaBz7JHFwcec
|
||
MIGRATION_ADMIN_KEY=iuyweiruinakjbfkajkjlkmalkcxnlahd
|
||
FP_PEPPER=cd0b94f349c292bf93c63e798b903bb4b3b3738a049654441d6524ba603d614147fbc24b2721090d713d4fe3fbe833985c9a4473233963ac544045da5cd4wef
|
||
SECRET_KEY_HMAC=WnzEwFNArO0YlTapvfhtmguKWsXJSKqg_NZSjHBYVXMZK1yUK88SobdckV0KuPaBh0c2721090d713d4fe3fbe833985c9a4473233963ac544045da5cd41bd5
|
||
SECRET_KEY=cd0b94f349c292bf93c63e798b903bb4b3b3738a049654441d6524ba603d614147fbc24b2721090d713d4fe3fbe833985c9a4473233963ac544045da5cd41bd5
|
||
passwordnewpassenger=$2y$10$0WYS/2Fz9BTtoyCbTusudOG9JgTO3DqCPWBhS2Cf9gIu3H9KoSZKC
|
||
initializationVector=abcdefghijklmnop
|
||
|
||
# ⚠️ تحذير مسارات الملفات السرية:
|
||
# في اللايف كانت هذه الملفات خارج مجلد htdocs. في الدوكر يجب وضع هذه الملفات داخل مجلد منفصل لتبقى آمنة.
|
||
# لقد قمت ببرمجة الدوكر ليقرأ مجلد docker/keys ويربطه بالمسار /keys/ المعزول تماماً عن الويب (لأن مسار الويب هو /var/www).
|
||
# (عليك إنشاء المجلد docker/keys ونسخ المفاتيح إليه)
|
||
SECRET_KEY_PATH=/keys/.secret_key
|
||
SECRET_KEY_PAY_PATH=/keys/.secret_key_pay
|
||
INTERNAL_SOCKET_KEY_PATH=/keys/.internal_socket_key
|
||
JWT_SECRET_KEY_PATH=/keys/.secret_key
|
||
WALLET_SECRET_KEY_PATH=/keys/.secret_key_pay
|
||
ENCRYPTION_KEY_PATH=/keys/.enckey
|
||
PAYMENT_INTERNAL_KEY_PATH=/keys/.internal_socket_key
|
||
|
||
# --- 6.b خادم TURN (مكالمات الصوت: الرحلات + توصيل الطعام) ---
|
||
# ⚠️ منافذ TURN مختلفة عن نسخة سيرو على نفس السيرفر:
|
||
# سيرو: 3478 / relay 49160–49300 · تربز هنا: 3479 / relay 49301–49400
|
||
TURN_HOST=turn.api.tripz-egypt.com
|
||
TURN_EXTERNAL_IP=
|
||
TURN_REALM=api.tripz-egypt.com
|
||
TURN_PORT=3479
|
||
# لا تجعلها true إلا بعد تركيب شهادة TLS فعلياً على coturn (انظر turnserver.conf)
|
||
TURN_TLS_ENABLED=false
|
||
TURN_TLS_PORT=5350
|
||
TURN_SECRET_PATH=/keys/turn_secret
|
||
TURN_STATIC_AUTH_SECRET=
|
||
TURN_CREDENTIAL_TTL=43200
|
||
|
||
# --- 7. Third-Party APIs ---
|
||
GEMINI_API_KEY=AIzaSyDHp0yXCGWqnd4ynlCCWzDz9Un1EJOKeW8
|
||
SMS_API_ENDPOINT=https://sms.kazumi.me/api/sms/send-sms
|
||
VOICE_CALL_API_KEY=405e47af5fff47a4b2f5e6acb7ec8960e4d7fe0d1cf3544552b978231f864285
|
||
HERE_API0=g_WNUb5L-7-F8oHpUmgIzH7ETeH9xZ8RwGG9_G8zX9A
|
||
HERE_API=-u3ySR74FH46wS-7IP59BP-Ih6pTx47CwKx_aQw0Sp4
|
||
keyOfApp=nqryjp@1737wqnmqqsjyzjujC1jYRSgh
|
||
PAYMENT_KEY=f4b29e139e7287109bcdd755882a3002
|
||
payMobApikey=S40PAVPQiTp+nOL4UQ4g2XFGMY2aSTp1kq6RaIt3bznBXIHJAtpaBz7JHFwcec9JFyzOXaoIZKGPfE5jyfnIlj/A90Kes1qwmwJdOKz0gINtVZcgX9dd0KIgiE34RC5eRn9co3PFpGENlxXUVZOXkQ5c00tBRsOIRXSedSs8L4u+YSQwfMQZLOX18vrLWh4yEGQPLLm3cUglC65DmkyiLPvwdBST53eFlqj4GD/L5qgBLw8zPPnUMZ2VIvAsTKIzLBxq3QmvSzU1bZ6gqscEHwwwDjfxD6j0Z8hlRgUfrOfVgGD9prY2SFzdeZxRSMqjBuwPrva+51/OxT4yf3uxozJs+HEVhl5AJ2CsSZ+k4Po=
|
||
PASSWORDPAYMOB=g@nkD2#99!hD_.wXrXlBl
|
||
PAYMOBOUTCLIENTSECRET=xyjjRlahJM0Xc38WjApCOh8bvgL9slFpNdM9YeCu9AhLqboKMPtmSvc2N9O4tXxFLV2JAV6stBSTAGFGCVubGe6MNpc7MzJnZ3SiT6GpavBoCLWkUvVbdSDaM0zHvuBOXrXlBl
|
||
PAYMOBOUTCLIENT_ID=Z05ut48dVkS2gI2zenFFcKsfDKfHAU0WELqKyJ0LXrXlBl
|
||
PayPalClientIdLive=QZFjAoZfGtngNserll6r3cC56Xl1sVLQkn5dMbyebhzJY59EQ3hz7YxaEqEDYPTUFcQWqvePaQ5UJJVRXrXlBl
|
||
SMSPASSWORDEGYPT=J)Vh=qb/@MXrXlBl
|
||
CLAUDAISEFER=zg-qbc-qvo39-vCB-WnzEwFNArO0YlTapvfhtmguKWsXJSKqg_NZSjHBYVXMZK1yUK88SobdckV0KuPaBh0c_WHtGsRO_439PBk-e2QqgkQQXrXlBl
|
||
FIREBASE_SERVICE_ACCOUNT_PATH=/var/www/backend/keys/service-account.json
|
||
RASEEL_DRIVER_INSTANCE_ID=686510D4C41E0
|
||
RASEEL_DRIVER_ACCESS_TOKEN=68617b9b8fe53
|
||
|
||
# --- 8. App Signatures & Versions ---
|
||
APP_SIGNATURE_SERVICE_DEBUG=08c3a281699d01bda0473c5dd33536f89dec2f77da8d45c3ba5285959066fa0e
|
||
APP_SIGNATURE_SERVICE_RELEASE=4f10b4e929e05e0a3eaeb0314cc13adbcbe6ffdf6af585fc68fec1e4b6296b6f
|
||
APP_SIGNATURE_SERVICE_IOS=com.example.serviceIntaleq
|
||
|
||
# --- 9. Nabeh & Transit & Commisions ---
|
||
NABEH_EMAIL=hamza@test.com
|
||
NABEH_PASSWORD=Test1234!
|
||
NABEH_API_KEY=tripz_integration_key_789
|
||
NABEH_OTP_APP_KEY=f3a9e7c1b8d5f2a4c6e9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1
|
||
|
||
VITE_API_BASE=https://api.tripz-egypt.com/backend/transit
|
||
TRANSIT_STUDENT_ID_KEY=zH34tS6xMMSamq6uqv1WZWlDrmjAbnMk
|
||
TRANSIT_ADMIN_ORIGINS=https://transit.tripz-egypt.com,https://admin.tripz-egypt.com
|
||
APP_DEEP_LINK_BASE=https://api.tripz-egypt.com/driver/transit-activate
|
||
|
||
TRIPZ_COMMISSION_JO=0.15
|
||
TRIPZ_COMMISSION_SY=0.12
|
||
TRIPZ_COMMISSION_EG=0.10
|
||
TRIPZ_COMMISSION_IQ=0.14
|
||
|
||
# --- 9.b Food Orders (طلبات الطعام) ---
|
||
FOOD_ENABLED=true
|
||
FOOD_SOCKET_URL=http://socket_food:4041
|
||
FOOD_SOCKET_PORT=14042
|
||
FOOD_MERCHANT_ORIGINS=https://food-merchant.tripz-egypt.com,https://admin.tripz-egypt.com
|
||
FOOD_COMMISSION_PERCENT=15
|
||
FOOD_DELIVERY_BASE_FEE=
|
||
FOOD_MAX_ACTIVE_ORDERS_PER_USER=3
|
||
|
||
# --- 10. Admin & Access ---
|
||
ADMIN_TOOL_IPS=92.241.36.211,92.241.36.165,92.241.37.3
|
||
ALLOWED_UPLOAD_HOST=api.tripz-egypt.com
|
||
ALLOWED_TESTER_EMAILS=driver_tester@tripz-egypt.com,passenger_tester@tripz-egypt.com
|
||
# ⚠️ لازم يغطّي كل قيمة في القسم 4/5 أعلاه: isAllowedSocketUrl() تعمل
|
||
# str_starts_with، وأي عنوان غير مغطّى تُسقَط رسائله (بلا أي أثر قبل هذا الإصلاح).
|
||
# أسماء حاويات Docker إجبارية هنا — لا تحذفها واستبدلها بالـ IP فقط.
|
||
ALLOWED_SOCKET_URLS=http://socket_driver,http://socket_passenger,http://socket_food,http://nginx
|
||
ALLOWED_ORIGIN=https://api.tripz-egypt.com
|
||
ADMIN_PHONE_NUMBERS=963992952235,963942542053,962772735902
|
||
SERVICE_PHONE1=963952475740
|
||
SERVICE_PHONE2=963952475742
|
||
TRIPZ_SMTP_PASSWORD=malDEV@2101
|
||
|
||
# --- 11. Platform Access Keys ---
|
||
allowed1=passenger-app:android
|
||
allowed2=passenger-app:ios
|
||
allowedDriver1=driver-app:android
|
||
allowedDriver2=driver-app:ios
|
||
allowedService1=service-app:android
|
||
allowedService2=service-app:ios
|
||
allowedWallet1=wallet-app:android
|
||
allowedWallet2=wallet-app:ios
|