You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

389 lines
16 KiB

6 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
5 years ago
6 years ago
  1. version: '3.4'
  2. # The default docker-compose.override file can use the "localhost" as the external name for testing web apps within the same dev machine.
  3. # The ESHOP_EXTERNAL_DNS_NAME_OR_IP environment variable is taken, by default, from the ".env" file defined like:
  4. # ESHOP_EXTERNAL_DNS_NAME_OR_IP=localhost
  5. # but values present in the environment vars at runtime will always override those defined inside the .env file
  6. # An external IP or DNS name has to be used (instead localhost and the 10.0.75.1 IP) when testing the Web apps and the Xamarin apps from remote machines/devices using the same WiFi, for instance.
  7. services:
  8. seq:
  9. environment:
  10. - ACCEPT_EULA=Y
  11. ports:
  12. - "5340:80"
  13. sqldata:
  14. environment:
  15. - SA_PASSWORD=Pass@word
  16. - ACCEPT_EULA=Y
  17. ports:
  18. - "5433:1433"
  19. volumes:
  20. - eshop-sqldata:/var/opt/mssql
  21. nosqldata:
  22. ports:
  23. - "27017:27017"
  24. volumes:
  25. - eshop-nosqldata:/data/db
  26. basketdata:
  27. ports:
  28. - "6379:6379"
  29. volumes:
  30. - eshop-basketdata:/data
  31. rabbitmq:
  32. ports:
  33. - "15672:15672"
  34. - "5672:5672"
  35. identity-api:
  36. environment:
  37. - ASPNETCORE_ENVIRONMENT=Development
  38. - ASPNETCORE_URLS=http://0.0.0.0:80
  39. - SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104
  40. - XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback
  41. - ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
  42. - MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100
  43. - LocationApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5109
  44. - MarketingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5110
  45. - BasketApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5103
  46. - OrderingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5102
  47. - MobileShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5120
  48. - WebShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5121
  49. - WebhooksApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5113
  50. - WebhooksWebClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
  51. - UseCustomizationData=True
  52. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  53. - OrchestratorType=${ORCHESTRATOR_TYPE}
  54. ports:
  55. - "5105:80"
  56. basket-api:
  57. environment:
  58. - ASPNETCORE_ENVIRONMENT=Development
  59. - ASPNETCORE_URLS=http://0.0.0.0:80
  60. - ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basketdata}
  61. - identityUrl=http://identity-api
  62. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  63. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  64. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  65. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  66. - AzureServiceBusEnabled=False
  67. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  68. - OrchestratorType=${ORCHESTRATOR_TYPE}
  69. - UseLoadTest=${USE_LOADTEST:-False}
  70. - PATH_BASE=/basket-api
  71. - GRPC_PORT=81
  72. - PORT=80
  73. ports:
  74. - "5103:80"
  75. - "9103:81"
  76. catalog-api:
  77. environment:
  78. - ASPNETCORE_ENVIRONMENT=Development
  79. - ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word}
  80. - PicBaseUrl=${ESHOP_AZURE_STORAGE_CATALOG_URL:-http://localhost:5202/c/api/v1/catalog/items/[0]/pic/} #Local: You need to open your local dev-machine firewall at range 5100-5110.
  81. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  82. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  83. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  84. - AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
  85. - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
  86. - UseCustomizationData=True
  87. - AzureServiceBusEnabled=False
  88. - AzureStorageEnabled=False
  89. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  90. - OrchestratorType=${ORCHESTRATOR_TYPE}
  91. - GRPC_PORT=81
  92. - PORT=80
  93. - PATH_BASE=/catalog-api
  94. ports:
  95. - "5101:80"
  96. - "9101:81"
  97. ordering-api:
  98. environment:
  99. - ASPNETCORE_ENVIRONMENT=Development
  100. - ASPNETCORE_URLS=http://0.0.0.0:80
  101. - ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
  102. - identityUrl=http://identity-api
  103. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  104. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  105. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  106. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  107. - UseCustomizationData=True
  108. - AzureServiceBusEnabled=False
  109. - CheckUpdateTime=30000
  110. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  111. - OrchestratorType=${ORCHESTRATOR_TYPE}
  112. - UseLoadTest=${USE_LOADTEST:-False}
  113. - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
  114. - Serilog__MinimumLevel__Override__ordering-api=Verbose
  115. - PATH_BASE=/ordering-api
  116. - GRPC_PORT=81
  117. - PORT=80
  118. ports:
  119. - "5102:80"
  120. - "9102:81"
  121. ordering-backgroundtasks:
  122. environment:
  123. - ASPNETCORE_ENVIRONMENT=Development
  124. - ASPNETCORE_URLS=http://0.0.0.0:80
  125. - ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
  126. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  127. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  128. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  129. - UseCustomizationData=True
  130. - AzureServiceBusEnabled=False
  131. - CheckUpdateTime=30000
  132. - GracePeriodTime=1
  133. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  134. - OrchestratorType=${ORCHESTRATOR_TYPE}
  135. - UseLoadTest=${USE_LOADTEST:-False}
  136. - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
  137. ports:
  138. - "5111:80"
  139. marketing-api:
  140. environment:
  141. - ASPNETCORE_ENVIRONMENT=Development
  142. - ASPNETCORE_URLS=http://0.0.0.0:80
  143. - ConnectionString=${ESHOP_AZURE_MARKETING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word}
  144. - MongoConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosqldata}
  145. - MongoDatabase=MarketingDb
  146. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  147. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  148. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  149. - identityUrl=http://identity-api
  150. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  151. - CampaignDetailFunctionUri=${ESHOP_AZUREFUNC_CAMPAIGN_DETAILS_URI}
  152. - PicBaseUrl=${ESHOP_AZURE_STORAGE_MARKETING_URL:-http://localhost:5110/api/v1/campaigns/[0]/pic/}
  153. - AzureStorageAccountName=${ESHOP_AZURE_STORAGE_MARKETING_NAME}
  154. - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_MARKETING_KEY}
  155. - AzureServiceBusEnabled=False
  156. - AzureStorageEnabled=False
  157. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  158. - OrchestratorType=${ORCHESTRATOR_TYPE}
  159. - UseLoadTest=${USE_LOADTEST:-False}
  160. - PATH_BASE=/marketing-api
  161. ports:
  162. - "5110:80"
  163. payment-api:
  164. environment:
  165. - ASPNETCORE_ENVIRONMENT=Development
  166. - ASPNETCORE_URLS=http://0.0.0.0:80
  167. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  168. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  169. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  170. - AzureServiceBusEnabled=False
  171. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  172. - OrchestratorType=${ORCHESTRATOR_TYPE}
  173. - Serilog__MinimumLevel__Override__payment-api.IntegrationEvents.EventHandling=Verbose
  174. - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
  175. ports:
  176. - "5108:80"
  177. locations-api:
  178. environment:
  179. - ASPNETCORE_ENVIRONMENT=Development
  180. - ASPNETCORE_URLS=http://0.0.0.0:80
  181. - ConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosqldata}
  182. - Database=LocationsDb
  183. - identityUrl=http://identity-api
  184. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  185. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  186. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  187. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  188. - AzureServiceBusEnabled=False
  189. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  190. - OrchestratorType=${ORCHESTRATOR_TYPE}
  191. - UseLoadTest=${USE_LOADTEST:-False}
  192. - PATH_BASE=/locations-api
  193. ports:
  194. - "5109:80"
  195. webhooks-api:
  196. environment:
  197. - ASPNETCORE_ENVIRONMENT=Development
  198. - ASPNETCORE_URLS=http://0.0.0.0:80
  199. - ConnectionString=${ESHOP_AZURE_WEBHOOKS_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=sa;Password=Pass@word}
  200. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  201. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  202. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  203. - IdentityUrl=http://identity-api
  204. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  205. ports:
  206. - "5113:80"
  207. mobileshoppingapigw:
  208. volumes:
  209. - ./ApiGateways/Envoy/config/mobilemarketing:/etc/envoy
  210. ports:
  211. - "5200:80"
  212. - "15200:8001"
  213. mobilemarketingapigw:
  214. volumes:
  215. - ./ApiGateways/Envoy/config/mobileshopping:/etc/envoy
  216. ports:
  217. - "5201:80"
  218. - "15201:8001"
  219. webshoppingapigw:
  220. volumes:
  221. - ./ApiGateways/Envoy/config/webshopping:/etc/envoy
  222. ports:
  223. - "5202:80"
  224. - "15202:8001"
  225. webmarketingapigw:
  226. volumes:
  227. - ./ApiGateways/Envoy/config/webmarketing:/etc/envoy
  228. ports:
  229. - "5203:80"
  230. - "15203:8001"
  231. mobileshoppingagg:
  232. environment:
  233. - ASPNETCORE_ENVIRONMENT=Development
  234. - urls__basket=http://basket-api
  235. - urls__catalog=http://catalog-api
  236. - urls__orders=http://ordering-api
  237. - urls__identity=http://identity-api
  238. - urls__grpcBasket=http://basket-api:81
  239. - urls__grpcCatalog=http://catalog-api:81
  240. - urls__grpcOrdering=http://ordering-api:81
  241. - CatalogUrlHC=http://catalog-api/hc
  242. - OrderingUrlHC=http://ordering-api/hc
  243. - IdentityUrlHC=http://identity-api/hc
  244. - BasketUrlHC=http://basket-api/hc
  245. - MarketingUrlHC=http://marketing-api/hc
  246. - PaymentUrlHC=http://payment-api/hc
  247. - LocationUrlHC=http://locations-api/hc
  248. - IdentityUrlExternal=http://10.0.75.1:5105
  249. ports:
  250. - "5120:80"
  251. webshoppingagg:
  252. environment:
  253. - ASPNETCORE_ENVIRONMENT=Development
  254. - urls__basket=http://basket-api
  255. - urls__catalog=http://catalog-api
  256. - urls__orders=http://ordering-api
  257. - urls__identity=http://identity-api
  258. - urls__grpcBasket=http://basket-api:81
  259. - urls__grpcCatalog=http://catalog-api:81
  260. - urls__grpcOrdering=http://ordering-api:81
  261. - CatalogUrlHC=http://catalog-api/hc
  262. - OrderingUrlHC=http://ordering-api/hc
  263. - IdentityUrlHC=http://identity-api/hc
  264. - BasketUrlHC=http://basket-api/hc
  265. - MarketingUrlHC=http://marketing-api/hc
  266. - PaymentUrlHC=http://payment-api/hc
  267. - LocationUrlHC=http://locations-api/hc
  268. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  269. ports:
  270. - "5121:80"
  271. ordering-signalrhub:
  272. environment:
  273. - ASPNETCORE_ENVIRONMENT=Development
  274. - ASPNETCORE_URLS=http://0.0.0.0:80
  275. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  276. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  277. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  278. - AzureServiceBusEnabled=False
  279. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  280. - OrchestratorType=${ORCHESTRATOR_TYPE}
  281. - identityUrl=http://identity-api
  282. ports:
  283. - "5112:80"
  284. webstatus:
  285. environment:
  286. - ASPNETCORE_ENVIRONMENT=Development
  287. - ASPNETCORE_URLS=http://0.0.0.0:80
  288. - HealthChecksUI__HealthChecks__0__Name=WebMVC HTTP Check
  289. - HealthChecksUI__HealthChecks__0__Uri=http://webmvc/hc
  290. - HealthChecksUI__HealthChecks__1__Name=WebSPA HTTP Check
  291. - HealthChecksUI__HealthChecks__1__Uri=http://webspa/hc
  292. - HealthChecksUI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check
  293. - HealthChecksUI__HealthChecks__2__Uri=http://webshoppingagg/hc
  294. - HealthChecksUI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
  295. - HealthChecksUI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
  296. - HealthChecksUI__HealthChecks__4__Name=Ordering HTTP Check
  297. - HealthChecksUI__HealthChecks__4__Uri=http://ordering-api/hc
  298. - HealthChecksUI__HealthChecks__5__Name=Basket HTTP Check
  299. - HealthChecksUI__HealthChecks__5__Uri=http://basket-api/hc
  300. - HealthChecksUI__HealthChecks__6__Name=Catalog HTTP Check
  301. - HealthChecksUI__HealthChecks__6__Uri=http://catalog-api/hc
  302. - HealthChecksUI__HealthChecks__7__Name=Identity HTTP Check
  303. - HealthChecksUI__HealthChecks__7__Uri=http://identity-api/hc
  304. - HealthChecksUI__HealthChecks__8__Name=Marketing HTTP Check
  305. - HealthChecksUI__HealthChecks__8__Uri=http://marketing-api/hc
  306. - HealthChecksUI__HealthChecks__9__Name=Locations HTTP Check
  307. - HealthChecksUI__HealthChecks__9__Uri=http://locations-api/hc
  308. - HealthChecksUI__HealthChecks__10__Name=Payments HTTP Check
  309. - HealthChecksUI__HealthChecks__10__Uri=http://payment-api/hc
  310. - HealthChecksUI__HealthChecks__11__Name=Ordering SignalRHub HTTP Check
  311. - HealthChecksUI__HealthChecks__11__Uri=http://ordering-signalrhub/hc
  312. - HealthChecksUI__HealthChecks__12__Name=Ordering HTTP Background Check
  313. - HealthChecksUI__HealthChecks__12__Uri=http://ordering-backgroundtasks/hc
  314. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  315. - OrchestratorType=${ORCHESTRATOR_TYPE}
  316. ports:
  317. - "5107:80"
  318. webspa:
  319. environment:
  320. - ASPNETCORE_ENVIRONMENT=Development
  321. - ASPNETCORE_URLS=http://0.0.0.0:80
  322. - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  323. - PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
  324. - MarketingUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5203
  325. - IdentityUrlHC=http://identity-api/hc
  326. - UseCustomizationData=True
  327. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  328. - OrchestratorType=${ORCHESTRATOR_TYPE}
  329. - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
  330. ports:
  331. - "5104:80"
  332. webmvc:
  333. environment:
  334. - ASPNETCORE_ENVIRONMENT=Development
  335. - ASPNETCORE_URLS=http://0.0.0.0:80
  336. - PurchaseUrl=http://webshoppingapigw
  337. - IdentityUrl=http://10.0.75.1:5105
  338. - MarketingUrl=http://webmarketingapigw
  339. - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
  340. - IdentityUrlHC=http://identity-api/hc
  341. - UseCustomizationData=True
  342. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  343. - OrchestratorType=${ORCHESTRATOR_TYPE}
  344. - UseLoadTest=${USE_LOADTEST:-False}
  345. ports:
  346. - "5100:80"
  347. webhooks-client:
  348. environment:
  349. - ASPNETCORE_URLS=http://0.0.0.0:80
  350. - Token=6168DB8D-DC58-4094-AF24-483278923590 # Webhooks are registered with this token (any value is valid) but the client won't check it
  351. - IdentityUrl=http://10.0.75.1:5105
  352. - CallBackUrl=http://localhost:5114
  353. - WebhooksUrl=http://webhooks-api
  354. - SelfUrl=http://webhooks-client/
  355. ports:
  356. - "5114:80"
  357. volumes:
  358. eshop-sqldata:
  359. external: false
  360. eshop-nosqldata:
  361. external: false
  362. eshop-basketdata:
  363. external: false